1、结构:struct类型是一种值类型,通常用来封装小型变量组。
C#中的所有值类型都继承自ValueType,ValueType继承自Object。
2、结构的特点:
(1)结构是值类型,而类是引用类型。
(2)与类不同,结构的实例化可以不使用new运算符。
(3)结构可以声明构造函数,但它们必须带参数。
(4)一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。所有结构都直接继承自System.ValueType,后者继承自System.Object。
(5)结构可以实现接口。
(6)结构可用作可为null的类型,因而可向其赋null值。
3、结构的声明:strct MyStr
{
}
4、结构的访问修饰符可以是public、internal,默认修饰符为internal.
结构可包含构造函数(有参数)、常量、字段、方法、属性、索引器、事件和嵌套类型。
结构成员的修饰符可以是private、public但不可以是protected。
字段:普通字段如果有构造函数,必须在构造函数中初始化,如果没有构造函数,字段则自动初始化;静态字段,常量字段不需要在构造函数中初始化;
在结构中,静态字段和常量用结构名调用。
方法:普通方法实例化后调用,静态方法用结构名调用。
5、结构实例化的两种方式:
struct MyStr
{
public int i;
}
(1)MyStr ms1=new MyStr();
(2)MyStr ms2;
ms2.i=10;
例: class Program
{
static void Main(string[] args)
{
MyStr ms1 = new MyStr("");
ms1.i = 100;
MyStr.j = 30;
Console.WriteLine(ms1.i);
Console.WriteLine(MyStr.j);
}
}
struct MyStr
{
public int i;
public static int j=20;
public MyStr(string s)
{
i = 10 ;
}
}
6、枚举:enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。
给几个常数值从中选择。例:ConsoleColor.
每种枚举类型都有基础类型,该类型可以是除char以外的任何×××。
枚举元素的默认基础类型为int。默认情况下,第一个枚举数的值为0(也可以为负数),后面每个枚举数的值依次递增1.
例:enum Food
{
包子 = 0,
油条 = 1,
豆浆 = 2,
酸奶 = 3
}
7、属性枚举(位枚举):将System.FlagsAttribute应用于某个枚举时,如果该枚举包含一些使用按位“或”运算组合的元素。
把多个枚举值赋给同一个对象,例如:宋体斜体同时赋给一个字体。
例:class Program
{
static void Main(string[] args)
{
Food f = Food.包子 | Food.豆浆;
Console.WriteLine((int)f);
}
}
[Flags]
enum Food
{
包子 = 1,
油条 = 2,
豆浆 = 4,
酸奶 = 8
}
8、数组的定义、初始化、遍历
(1)一维数组
int[] arr1 = new[] { 1, 2, 3, 4, 5 };
for (int i = 0; i < arr1.Length; i++)
{
Console.WriteLine(arr1[i]);
}
foreach (int i in arr1)
{
Console.WriteLine(i);
}
(2)二维数组
int[,] arr2 = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
for (int i = 0; i < arr2.GetLength(0); i++)
{
for (int j = 0; j < arr2.GetLength(1); j++)
{
Console.WriteLine(arr2[i, j]);
}
}
(3)交错数组
int[][] arr3 = new int[3][];
arr3[0] = new int[]{1,2,3};
arr3[1] = new int[]{4,5 };
arr3[2] = new int[]{6,7,8,9 };
for (int i = 0; i < arr3.Length; i++)
{
for (int j = 0; j < arr3[i].Length; j++)
{
Console.WriteLine(arr3[i][j]);
}
}
foreach (int[] i in arr3)
{
foreach (int j in i)
{
Console.WriteLine(j);
}
}
(4)一维数组中的二维数组
int[][,] arr4 = new int[3][,];
arr4[0] = new int[,]{{1,2,3},{4,5,6}};
arr4[1] = new int[,]{{7,8,9},{10,11,12}};
arr4[2] = new int[,]{{13,14,15},{16,17,18}};
foreach (int[,] i in arr4)
{
foreach (int j in i)
{
Console.Write(j);
}
Console.WriteLine();
}
C#基础知识(四)
原创
©著作权归作者所有:来自51CTO博客作者大懒丫头的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C语言基础知识全面讲解(超详细)
详细介绍了C语言基本常识和的基本知识讲解,超级详细
字符串 #include 转义字符 -
C#基础知识总结
C#基础知识总结
职场 基础 知识 休闲 -
C#基础知识(一)
&n
职场 C# 基础知识 休闲 C#基础