1、类和对象
类的定义:具有相同属性和功能的对象的抽象的集合。——脑门一闪,类其实也是个集合吗?
类的实例:实例化就是创建对象的过程,使用new关键字来创建。
来看以下代码,最简单的,你肯定懂:
复制代码
public class Cat
{
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
Cat cat = new Cat();
}
}
复制代码
就是这句:Cat cat=new Cat();其实它做了两件事情,不知道你们知道不,我是现在才又知道的(原来肯定知道过,不过早已抛在千里之外了):
2、goto:语句将程序控制直接传递给标记语句。
goto貌似在开发中从来没用过。
复制代码
static void Main(string[] args)
{
int i = 0;
repeat: // the label
Console.WriteLine("i: {0}", i);
i++;
if (i < 10)
goto repeat; // the dastardly deed
Console.ReadLine();
}
复制代码
这是一个简单的用法满足条件的时候,跳转到标记repeat;
输出结果:
这有一篇关于goto的详细介绍:包括它的优缺点,应用场景。
http://www.cnblogs.com/IT-Bear/archive/2012/03/05/2380389.html
3、continue、break、return:C#编程语法中我们会经常碰到break ,continue, return这三个常用的关键字
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。
如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。
for (var i = 1; i <= 10; i++)
{
if (i == 6) break;
Console.WriteLine(i);
} //输出结果:12345
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
for (var i = 1; i <= 10; i++)
{
if (i == 6) continue;
Console.WriteLine(i);
}
//输出结果:1234578910
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!
4、i++和++i,前者先用后加,后者先加后用
这个在学校学的时候就感觉好别扭,现在好久没看了又模糊了。可能这也是面试的时候很多公司愿意出的问题吧。
复制代码
static void Main(string[] args)
{
int valueOne = 10;
int valueTwo;
valueTwo = valueOne++;
Console.WriteLine("After postfix: {0}, {1}", valueOne,
valueTwo);
valueOne = 20;
valueTwo = ++valueOne;
Console.WriteLine("After prefix: {0}, {1}", valueOne,
valueTwo);
Console.ReadLine();
}
复制代码
再来看一个简单的小例子:
int k = 0;
int i = 3;
k = ++i + (i++);
Console.WriteLine("k={0},i={1}", k, i);
先来看如果i=3; return i++; 那么返回的是3;如果return ++i;那么返回的是4。
所以 ++i 现在i=4;表达式变为4+(4++),而4++是先用了再加 所以就是8++,而8++同理先返回8,i再++,i就为5。