您的位置:首页 > 编程语言 > C#

【C#学习笔记1】从头开始学习C#

2013-04-14 20:02 267 查看
考研的事情总算是告一段落了,总的来说结局还算圆满。所以我也算是能有这么一大段时间来好好学习一门语言。大学期间,真的浪费了不知道多少时间,作为计算机系的学生,目前也仅仅是对各种编程语言略懂皮毛而已,之前一直用Java语言,也对java ee方面的知识有一些涉猎,但是导师要求我把C#能够学会,所以不得不放弃java,希望能够坚持下去把C#真正的学会。

其实无论C#或者是JAVA又或者是CPP,基本是一通百通的东西,只要真正熟练掌握了任何一种语言,那转到其他就是比较简单的了。考研期间被某微软专家在微博上点名批评过死记硬背,不重实践,其实那也是无奈之举。如今得闲,仔细研读其博客,对我真的帮助很大,现在我更是遵循他的建议,买了一些他列的计算机方面的书籍,准备好好实行我的书单计划。对于他所提到的Github我也很感兴趣,希望能尽快把C#上手,去Github上找些开源项目多多学习。

学习任何一门编程语言,买书无疑是令人头疼的事情,我比不得那些聪明的人,不能单单通过互联网就能够学习。所以首先,我就在Amazon.cn上搜索C#关键字,出现了很多书籍。其中《Beginning Visual C# 2010》这本书被提到最多,不过看后面评论,似乎翻译水平欠缺,故下载了一本中文版PDF翻阅了一番,有些翻译的确十分的晦涩难懂,由于本人英语水平尚可,所以就准备使用英文版的书籍,对照中文版的PDF学习。另外我还买了一本《Visual C# 2010从入门到精通 Step by Step》 据说翻译水平较高,不过暂时还没到手,故先不做评论。

下面总结一下第一天学习的一些内容,第一次看英文原版的教材,还是有些吃力,遇到不懂得单词,我都标记好,存到了Shanbay.com,希望通过这本书,我编程方面的专业词汇能得到拓展。

一开始的内容基本和JAVA语言没什么差异,不做赘述。

首先,数组方面,C#有之间的数组遍历语言foreach 使用范例如下:

foreach(int val in vals)

{

Console.WriteLine(val);

}

对于多重数组,就要多次使用foreach语句

foreach(int[] divisorsOfInt in divisors1To10 )

{

foreach(int divisor in divisorOfInt)

{

Console.WriteLine(divisor);

}

}

2.Function C#中引用参数的使用与Java以及CPP稍有不同,将&改为了关键字ref或out。

ref关键字与out关键字的不同点:

ref修饰的变量不能用const修饰,并且一定要赋初值。

out修饰的变量不需要赋初值,即使有初值也会在函数执行时丢失。

***ref关键字和out关键字都要在函数调用中使用***

3.C#中Function的参数可以是一个参数 数组,使用params关键字,示例如下:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication3
{

class Program
{
static int SumVal(params int[] vals)
{
int sum = 0;
foreach (int val in vals)
{
sum += val;

}
return sum;
}

static void Main(string[] args)
{
int sum = SumVal(1,3,5,6,7);
Console.WriteLine("summed results are: {0}",sum);
Console.ReadKey();
}
}
}


  

4.全局变量 在类中定义,必须是static或者const类型。当有局部变量和全局变量同名的时候 全局变量必须使用 类名.变量名的形式,否则将被局部变量所覆盖。

5.Delegate 委托 (此处暂时还不是很懂,看到后面再来具体学习)

建立委托

例: delegate double ProcessDelegate(double param1, double param2);

static double Multiply(double param1, double param2)
{
return param1 * param2;
}
static double Divide(double param1, double param2)
{
return param1 / param2;
}

建立委托类实例,并指向要调用的方法

方式一:ProcessDelegate process = new ProcessDelegate(Multiply);

方式二:ProcessDelegate process = Multiply;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: