C#基础知识
部分摘自《果壳中的C#》
1.什么是C#?
C#是一种通用的类型安全且面向对象的编程语言。
类型安全:类型只能通过它们定义的协议进行交互,从而保证一种类型的内部一致性。C#支持静态类型化,在编译时会执行静态类型安全性检查。
面向对象的特性:封装,继承,多态。
2..Net Framework
.Net Framework是由CLR和大量的程序库组成。CLR是执行托管代码的运行时环境。
3.值类型和引用类型
值类型包含大多数内建类型以及自定义struct类型和enum类型。给值类型复制总是复制实例。
示例代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //定义结构 Product 2 public struct Product{public int price, double discount;} 3 4 5 static void Main() 6 { 7 Product productOne=new Product(); 8 productOne.price=12; 9 10 Product productTwo=productOne; 11 12 Console.WriteLine(productOne.price); //12 13 Console.WriteLine(productTwo.price); //12 14 15 productOne.price=10; 16 17 Console.WriteLine(productOne.price); //10 18 Console.WriteLine(productTwo.price); //12 19 }
存储示意图:
productOne和productTwo分别存储在不同的内存空间。
引用类型包括类、数据、委托和接口。引用类型包含对象和对象的引用,给引用类型赋值只是复制了引用,而不是对象实例。
示例代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
Public class Product{public int price, int discount;} static void Main() { Product productOne=new ProductOne(); productOne.price=12; Product productTwo=productOne; Console.WriteLine(productOne.price); //12 Console.WriteLine(productTwo.price); //12 ProductOne.price=10; Console.WriteLine(productOne.price); //10 Console.WriteLine(productTwo.price); //10 }
存储示意图:
4.C#语句
选择语句(if , switch)
if-else 示例:
if(1+1 == 2) Console.WriteLine("true"); else Console.WriteLine("false");
switch 示例:
switch(number) { case 1: Console.WriteLine("One"); break; case 2: Console.WriteLine("Two"); break; default: Console.WriteLine(number); break; }
循环语句(for, foreach, while, do-while)
for 循环示例代码:
for(int i=1;i<=10;i++) { Console.Write(i); }
foreach循环示例代码:
foreach(char c in "code") { Console.WriteLine(c); }
while 和do-while的区别:
while循环在执行之前会进行检查,do-while循环在检查之前至少执行了一次。
示例代码:
int i=0; while(i<=10) { Console.WriteLine(i); i++; } int j=0; do { Console.WriteLine(j);
j++;
} while(j<=10)