1.示例
class TestArraysClass
{
static void Main()
{
// Declare a single-dimensional array
int[] array1 = new int[5];
// Declare and set array element values
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
2.如何遍历数组
using System;
class HelloWorld
{
public static void Main()
{
String[] str=new String[]{"C","C++",C#};
String[] str={"C","C++","C#"};
for(int i=0;i<str.Length;i++)
{
Console.WriteLine("str[{0}]={1}",i,str[i]);
}
}
}
程序结果:str[0]=C str[1]=C++ str[2]=C#
3.类是面向对象程序设计的基本构造块,详细我们在后面介绍。这里我们介绍两个特殊的类,即object类和string类
1.object类
object类是预定义类System.Object的别名,它是所有其他类型的基类。c#中所有类型都直接或间接从object类中继承。因此,一个object类的变量可以赋予任何类型的值。
int i=30;
object obj1;
obj1=i;
object obj2='a';
2.string类
string类专门用于对字符串的操作,他是预定义类System.String的别名
string str1="Hello Word";
可以用"+"号连接两个字符串。
string str2="username:"+"Hello Word";
如果访问单个字符,则要用下标。
char c=str1[0];
比较两个字符串是否相等,可用比较操作符"=="//有别于basic语法
bool b=(str1==str2);
c# 中,取消了c和c++中使用最灵活,也是最难掌握的指针。那么在c#中如何提供c/c++中的函数指针的功能?c#提供了委托(delegate),委托是继承自System.Delegate类的引用类型。它相当于函数指针原型。与函数指针不同的是,委托在c#中是类型安全的,委托特别适合于匿名调用。要使用委托需经过三个步骤,即声明、实例化、调用。
using System;
//声明一个名为mfDelegate的委托,该委托有一个string类型的参数
//c#编译器编译时会产生一个新类,该类继承自System.Delegate,类
//名为mfDelegate
public delegate void mfDelegate(string name);
public class Hello Word
{
//定义与mfDelegate有相同参数类型的方法Hello()
public static void Hello(string name)
{
Console.WriteLine("您好,{0}!",name);
}
//定义与mfDelegate有相同参数类型的方法GoodBye()
public static void GoodBye(string name)
{
Console.WriteLine("再见,{0}!",name);
}
public static void Main()
{
//创建一个mfDelegate实例 mf1
mfDelegate mf1=new mfDelegate(Hello);
//调用mf1
mf1("Hello Word");
mfDelegate mf2=new mfDelegate(GoodBye);
mf2("Hello Word");
//将mf1 mf2组合成一个新的委托mf3
mfDelegate mf3=mf1+mf2;
//调用mf3
mf3("程序员");
//从组合的委托mf3中删除mf1
mfDelegate mf4=mf3-mf1;
mf4("Hello Word");
}
}
程序结果:您好,Hello Word!//mf1; 再见,Hello Word!//mf2
您好,程序员! 再见,程序员!//mf3
再见,Hello Word!//mf4