【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关键字,示例如下:
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;
其实无论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;
相关文章推荐
- 从头开始学习cocos2dx之笔记二(搭建ECLIPSE ANDROID JAVA环境)
- worldwind学习笔记-9-从头开始,单例模式
- 2012-04-03 C#基础学习笔记(3)
- C#3.5语言 学习笔记
- 2012-04-13 C#基础学习笔记(10)
- C#学习笔记之——抽象类、静态类和单例
- (原创)c#学习笔记04--流程控制04--循环01--do循环
- 开始写一个类似MSN的即时通讯软件,目的是边做边学习C#的通讯方面的类。
- C#学习笔记——MDI窗体(多文档界面)
- C# 学习笔记 1
- C#学习笔记---修饰符,this关键字和static关键字
- C#学习笔记一--C#中的参数传递
- Unity3D学习之路 - C#学习笔记(一)
- .net学习笔记-C#语言基础篇2
- 黑马程序员之C#编程基础学习笔记:交换两个变量的值。
- 黑马程序员之C#编程基础学习笔记:将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,如果元素是负数则将这个位置的元素减1。
- 黑马程序员_c#基础知识学习笔记:数组
- C#学习笔记 ODBC 操作Excel
- C#学习笔记二:并行编程基础:在 PLINQ 和 TPL 中的 Lambda 表达式
- 学习C#第一课笔记