4、数组参数
如果形参表中包含了数组型参数,那么它必须在参数表中位于最后,另外允许是一维数组。数组型参数不能用ref 和out 修饰符。
下面是一个例子,在这个例子中我遇到两个问题:
1. params关键字的功能
2. 怎么样把输入的数字 做为数组使用
using System;
namespace study121
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
static void F( params int [] args) //这里这个params 关键字对应F(10,20,30,40)和F();如果没有这个关键字的话就会出错
{
Console.WriteLine("Array contains {0} elements:",args.Length);
foreach (int i in args)
{
Console.Write(" {0}", i);
}
Console.WriteLine();
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void
{
int [] a = {1,2,3};
F(a);
F(10,20,30,40);
Console.WriteLine("请输入数字:");
int b =Convert.ToInt32(Console.ReadLine());//怎么解决这里的数组问题,就是把输入进来的数字做为数组来做为参数?
F(b);
F();
}
}
}
5 、静态方法
C#的类中可以包含两种方法:静态方法和非静态方法。
使用了static 修饰符的方法为静态方法,反之则是非静态方法。
静态方法是一种 特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先创建一个类的实例,而是采用类名.静态方法的格式 。
下面是一个使用静态方法的例子
using System;
namespace study1214
{
class Class1
{
[STAThread]
static void
{
int i = MyClass.Add(3,5); //调用静态方法
Console.WriteLine(i);
}
}
class MyClass
{
public static int Add(int x,int y )
{
}
}
}
6、方法的重载
方法重载的完整定义是:可以在一个类中定义多个同名方法,这些方法通过不同的参数类型或者参数个数来区分。注意,不能仅仅通过返回值类型的不同来定义多个方法。
下面是一个例子,有一个问题是:怎样通过参数来调用方法?
using System;
namespace ffcz121
{
class Class1
{
[STAThread]
static void
{
bool b1 = MyClass.IsEqual(5,5);//在这里怎么可以实现 通过参数给这个方法赋值?
bool b2 = MyClass.IsEqual("abc","ABC");
Console.WriteLine(b1);
Console.WriteLine(b2);
}
}
class MyClass
{
public static bool IsEqual(int x,int y)
{
if (x == y)
{
return true;
}
else
{
return false;
}
}
public static bool IsEqual(string s1,string s2)
{
if (s1 == s2)
{
return true;
}
else
{
return false;
}
}
}
}
[zsp1]注意:静态方法中不能使用非静态成员,如class A
{
Int x ;
Static int y;
Static int F()
{
X=1; //错误,不允许访问非静态成员
Y=2; //正确
}
}