`

C#入门经典之输出参数

阅读更多

除了按引用传递值之外,还可以使用out关键字,指定所给的参数是一个输出参数。out关键字

的使用方式与ref关键字相同(在函数定义和函数调用中用作参数的修饰符)。实际上,它的执行方式

与引用参数完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。但是,

存在一些重要区别。

  • 把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数。
  • 另外,在函数使用out参数时,out参数必须看作是还未赋值。

即调用代码可以把已赋值的变量用作out参数,存储在该变量中的值会在函数执行时丢失。

例如,考虑前面返回数组中最大值的MaxValue()函数,略微修改该函数,获取数组中最大值的

元素索引。为简单起见,如果数组中有多个元素的值都是这个最大值,只提取第一个最大值的索引。

为此,修改函数,添加一个out参数,如下所示:

static int MaxValue(int[] intArray, out int maxIndex) 
{ 
int maxVal = intArray[0]; 
maxIndex = 0; 
for (int i = 1; i < intArray.Length; i++) 
{ 
if (intArray[i] > maxVal) 
{ 
maxVal = intArray[i]; 
maxIndex = i; 
} 
} 
return maxVal; 
} 

 

可以采用以下方式使用该函数:

int[] myArray = { 1, 8, 3, 6, 2, 5, 9, 3, 0, 2 }; 
int maxIndex; 
Console.WriteLine("The maximum value in myArray is {0}", 
MaxValue(myArray, out maxIndex)); 
Console.WriteLine("The first occurrence of this value is at element {0}", 
maxIndex + 1); 

 

结果如下:

The maximum value in myArray is 9 
The first occurrence of this value is at element 7 

注意,必须在函数调用中使用out关键字,就像ref关键字一样

分享到:
评论

相关推荐

    C#入门经典第七版的源代码

    《C#入门经典第七版》是一本广受欢迎的编程教程,专为初学者设计,旨在帮助读者快速掌握C#编程语言。源代码是学习编程的重要组成部分,它提供了实际操作和理解概念的机会。在这个压缩包中,包含了从第三章至第二十六...

    C#入门经典(第5版)源代码

    《C#入门经典(第5版)》是一本广受欢迎的C#编程教材,适合初学者及有一定经验的程序员深入学习。源代码是书中理论知识的实践体现,它涵盖了从基础到进阶的各种C#编程概念和技术。通过分析和运行这些源代码,读者可以...

    C#入门经典(第四版)源码 7

    《C#入门经典(第四版)》是一本深入浅出的编程教材,专注于教授C#语言的基础知识和高级特性。这本书的源码是学习C#编程的重要参考资料,它提供了丰富的实例,帮助读者理解和实践C#编程语言的各种概念。在第七章节的...

    C#入门经典 附录程序

    《C#入门经典》是一本面向初学者的编程教材,旨在帮助新手快速掌握C#语言的基础知识和编程技巧。在附录程序中,通常包含了书中各个章节实例代码,供学习者实践和调试,以加深对理论知识的理解。下面将详细阐述C#语言...

    C#入门经典(第三版)答案和源码

    《C#入门经典(第三版)》是一本广泛认可的编程教材,专为初学者设计,旨在帮助读者快速掌握C#编程语言。该书提供的源码和答案是学习过程中的重要辅助材料,能够帮助读者更好地理解和实践书中的知识点。 源码部分(...

    C#入门经典课后习题答案

    "C#入门经典"是一本非常受欢迎的教材,旨在帮助初学者掌握C#的基础知识和核心概念。本资源集合了这本书的课后习题答案,对于正在学习C#的你来说,它是一个宝贵的参考资料。 首先,我们来看看C#的基础知识。C#中的...

    C#入门经典(第5版)源代码

    《C#入门经典(第5版)》是一本广受欢迎的编程教材,旨在帮助初学者掌握C#语言的基础知识和核心概念。这本书的源代码包含了大量示例程序,旨在通过实践来加深对C#语法的理解。以下是根据这些源代码文件可能涉及的...

    C#的两本好书!C#入门经典和C#高级编

    《C#入门经典》这本书,通常会从最基础的部分开始讲解,包括C#语言的基础语法、变量和数据类型、控制流程(如条件语句和循环)、函数以及类和对象等面向对象编程的基础概念。它可能会详细介绍如何创建和运行简单的C#...

    C#入门经典教程

    《C#入门经典教程》是为初学者设计的一本指南,由知名出版社清华大学出版,并由Karli Watson和Marco Bellinaso撰写,中国版由康博翻译。这本书旨在帮助那些对编程感兴趣,特别是对C#语言有热情的新手,提供一个系统...

    c#入门经典(第四版)课后习题

    《C#入门经典(第四版)》是一本广泛认可的编程教材,主要针对初学者,旨在教授C#语言的基础知识和编程技巧。课后习题是学习过程中的重要组成部分,它们帮助巩固理论知识,提高实践能力。以下是这些习题可能涉及的...

    c#入门经典的课件及其相关语法

    总的来说,C#入门经典课程覆盖了C#语言的基础知识,包括但不限于变量、常量、控制结构、异常处理、面向对象编程等,对于初学者来说是很好的学习资源。通过学习这些基本概念,开发者可以构建.NET框架上的各种应用程序...

    C#入门经典(第4版)课件

    《C#入门经典(第4版)》是一本专为初学者设计的C#编程教程。这本课程的课件涵盖了C#语言的基础知识,旨在帮助学习者掌握编程基础,理解C#的核心概念,以及如何在实际项目中应用这些概念。下面我们将详细探讨课件中...

    C#入门经典代码

    《C#入门经典》是一本深受初学者喜爱的编程教程,尤其对于想要学习C#语言的人来说,它提供了全面且易懂的指导。本压缩包包含了该书第三版的所有示例代码,这些代码实例覆盖了C#的基础到进阶概念,是理解和实践C#编程...

    C#入门学习资料PDF

    例如,可以使用不同的编译器选项来优化代码、定义符号、设置警告级别或输出不同的编译结果。 编译器错误和警告用于提示开发者代码中可能存在的问题。这些错误和警告通常会给出出错的原因和行号,开发者可以据此修正...

    C#入门小例子

    本资源“C#入门小例子”是为初学者准备的,它包含了一百个实例程序,旨在帮助新手快速掌握C#的基础知识和编程技巧。 首先,C#(读作"C Sharp")是微软公司于2000年推出的一种面向对象的编程语言,它基于.NET框架,...

    C# 入门经典 第一章

    在本资源中,我们关注的是"C# 入门经典"的第一章内容,这是一份针对初学者的C#编程教程的源代码集合。C#(读作"C Sharp")是微软开发的一种面向对象的编程语言,广泛应用于Windows平台、游戏开发、移动应用以及Web...

    C# 入门经典(PDG)上.rar

    以下是基于提供的文件名可能涵盖的一些C#入门知识点: 1. **变量和数据类型**:每个程序都由数据和操作数据的指令组成。C#中的基本数据类型包括整型(如int)、浮点型(如float)、字符型(char)等,这些在文件名...

    C#入门经典第五版上

    《C#入门经典第五版上》是一本专为初学者设计的编程教程,全面覆盖了C#语言的基础知识,旨在帮助读者快速掌握C#编程技能。本书内容丰富,理论与实践相结合,是学习C#语言的理想起点。 1. **C#语言基础** - 数据...

Global site tag (gtag.js) - Google Analytics