CSDN广告是越来越多了,所有博客笔记不再更新,新网址 DotNet笔记
1:先说一下String str与String str=“”这两种方式的区别 class Program
{
static void Main(string[] args)
{
String str="";
for (int i = 0; i<1;i++ )
{
str = "100";
Console.WriteLine(str);
}
Console.WriteLine(str);
Console.Read();
}
输出结果是:100
100
但是如果把String str=“”改为String str的话,编译器会报错:使用了未赋值的局部变量str。为什么?
因为,C#为变量分配内存地址是在变量初始化的时候,也就是说,变量在声明的时候并没有被分配内存地址。我们在for代码块中为str分配了内存,正是因为在代码快中分配的内存,for代码块结束的时候,内存也随之被释放!
两种方式的区别是,String str仅仅是声明,而string str=“” 是声明并初始化。在根据变量的作用域,我们就不难理解为什么编译器会报错string str了。
2:函数参数数组
参数数组能够让我们使用个数不定的参数来调用函数。可以使用params关键字来定义。
注意:如果函数含有多个类型的参数和参数数组,参数数组必须放到最后面。
static void Main(string[] args)
{
Console.WriteLine(getMax("LeBron", "James", 188, 5, 2, 4, 2, 45, 52, 4, 152, 45, 5, 65, 265));
Console.WriteLine(getMax("D", "Wade", 188, 5, 342, 4, 2, 45, 52, 4, 52, 145, 35, 65, 65));
Console.Read();
}
public static string getMax(string firstname,string lastname, params int[] a)
{
int max = 0;
foreach (int i in a)
{
if (i > max)
{
max = i;
}
}
return firstname+"-"+lastname+"的最大值是:"+max.ToString();
}
结果: