
- 类 别
- 程序设计语言
- 影响语言
- C++、C#、D、Java、JavaScript、ObjectPHP等
- 创始时间
- 1972年
- 主要编译器
- Visual C++、Clang、GCC、Turbo C等
- 中文名
- C语言
- 创始人
- Dennis MacAlistair Ritchie
- 发 源
- BCPL语言
- 外文名
- C Programming Language
-
c#学习
2011-09-28 07:48:14 -
c#学习c#学习c#学习
2011-09-28 07:54:13 -
C#学习
2018-06-04 20:42:13建立第一个C#程序 using System; namespace Wrox{ public class MyFirstClass{ static void Main(){ Console.WriteLine("hello from wrox&amp...建立第一个C#程序
using System; namespace Wrox{ public class MyFirstClass{ static void Main(){ Console.WriteLine("hello from wrox"); Console.ReadLine(); return; } } }
编译程序
csc First.cs
执行程序
First.exe给Main方法传递参数
using System; namespace Wrox{ class ArgsExample{ public static int Main(string[] args){ for(int i=0;i<args.Length;i++){Console.WriteLine(args[i]);} return 0; } } }
传参数方法
Two.exe ArgsExample abcdef编写一个.NET Dll运行库,然后调用
namespace Wrox{//定义一个名称空间,写一个类和方法 public class MathLib{ public int Add(int x,int y){return x+y;} } }
将该类编译为.NET DLL文件/使用/r选项便以这个文件使之指向新编译的DLL
csc /t:library MathLibrary.cs csc MathClient.cs /r:MathLibrary.dll
using System; namespace Wrox{ class Client{ public static void Main(){ MathLib mathObj=new MathLib(); Console.WriteLine(mathObj.Add(7,8)); } } }
控制台I/0
Console.ReadLine()读文本
Console.WriteLine()和Console.Write()写文本
值传递和引用传递
将值传递参数前加ref便会变为引用传递
out关键字修饰的变量不用初始化
函数重载的限制:
1.两个方法不能仅在返回类型上有区别
2.两个方法不能仅仅根据参数是声明为ref或out来区分静态构造函数只初始化一次,
泛型:协变和抗变
泛型约束:
泛型结构:结构是泛型,有一个缺点:结构不能为null,所以使用**Nullable结构。结构Nullable**定义了一个约束:其中的泛型类型T必须是一个结构。因为可空类型使用得非常频繁,所以有一种特殊的语法,它用于定义可空类型的变量。使用“?”运算符,例如变量x1和x2都是可空的int类型的实例:Nullable<int> x1; int ? x2;
两个可空变量中任何一个的值是null,它们的和就是null。非空可以转换为可空,反之不成立:
int y1 = 4' int? x1 = y1;
IEnumerable接口:IEnumerable和**IEnumerable**接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,例如:
public class Account{} var accounts = new List<Account>() public static class Algorithm{ public static decimal AccumulateSimple(IEnumerable<Account> source){ foreach(Account a in source){} } } //调用方法 decimal amount = Algorithm.AccumulateSimple(accounts);
装箱和拆箱
装箱和拆箱可以把值类型转换为引用类型也可以把引用类型转换为值类型。
该转换可以是隐式转换,如string s=10.ToString();
显示转换,如:
int myIntNumber = 20; object myobject = myIntNumber;
拆箱用于将引用类型转换为值类型,这种转换是显示的:
int myIntNumber =20; object myObject = myIntNumber; int mySecondNumber = (int)myObject;
比较对象的相等性
比较引用类型的相等性
ReferenceEquals/两个版本的Equals()/再加上比较运算符==
ReferenceEquals:静态方法,测试两个引用是否引用类的同一个实例,特别是两个引用是否包含内存中相同的地址(比较引用),在应用于值类型时会返回false,因为值需要装箱为引用类型,这意味着会得到不同的引用
Equals()虚拟版本和静态版本。(比较值)
比较运算符(中间) -
C#学习路线
2019-08-27 23:51:44C#学习路线 导读 有的初学者对于如何开始学习C#感到无从下手,不知看哪些书,或者是看什么视频,没有目的性,这样就会影响学习效率,也会影响学习的热情。最重要的是很多同学学之前问很多和学习无关的问题,比如:...C#学习路线
导读
有的初学者对于如何开始学习C#感到无从下手,不知看哪些书,或者是看什么视频,没有目的性,这样就会影响学习效率,也会影响学习的热情。最重要的是很多同学学之前问很多和学习无关的问题,比如:C#是不是不如JAVA好?C#有前途吗?等等。博主认为现在观望还不如现在学习。本篇文章介绍了博主自己总结的C#学路线。如果大家有什么更好的想法或者好的建议可以共同探讨。
有的同学对直接看书有比较强的吸收能力,我建议从《C#入门经典》开始学习,过度到《C#高级编程》和《深入理解C#》。学习C#前提是下载好Visual Studio,配合书上的代码进行动手练习,动手非常重要。
Visual Studio 2017下载路径:https://visualstudio.microsoft.com/zh-hans/downloads/
本篇文章剩余部分主要是介绍利用微软C#官方文档和网上资源学习。
掌握C#基本语法
1.C# 快速入门:https://docs.microsoft.com/zh-cn/dotnet/csharp/quick-starts/index
此部分官方文档给初学者一些入门的认知,它可以直接在浏览器敲出代码,并且能够直观的显示出来。这部分包含了第一个"Hello World"程序,数字类型介绍,分支和循环,字符串类型处理,集合类型List的初探。
2.C# 语言介绍(C#的基础知识):https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/index
这部分官方文档介绍程序的基本结构,类型和变量,表达式,语句,类和对象,结构,数组,枚举等方面知识。把这一部分看完,大概会对C#有一定的认识,但是可能不明白的地方也有很多,不要急,只需要多看多敲代码,在后续学习的过程中,会一步一步把前面有问题的地方弄明白。
3.C# 教程:https://docs.microsoft.com/zh-cn/dotnet/csharp/tutorials/index
教程部分介绍了控制台的I/O,异步编程模型的基础知识,Web通信、JSON 序列化和面向对象的 C# 语言功能,以及LINQ查询的知识。
4.C# 编程指南:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/index
这一部分是对第二部分的深入介绍,其中有很多相关的示例,也是学习C#基础知识比较重要的一部分。学习这部分前提是前面的内容已经学习完成(具有一定的C#编程知识)。
学习完上面的部分,且动手敲完里面的例子,相信你对C#已经有一个不错的认识。这时候需要看进阶的知识来巩固学习成果。
5.C# 演练:https://docs.microsoft.com/zh-cn/dotnet/csharp/walkthroughs
这部分内容包含了C#更强大的功能,异步编程,设计Windows组件,Windows窗体的介绍,数据操作,和LINQ查询,编写可视化工具等。
6.C# 中的新增功能:https://docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/index
介绍了C#的版本,和每次版本中的新增内容,有助于让我们更了解C#的进化史,从而更好的应用它。
附带:
C# 语言参考:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/index
C# 语言规范(英文版):https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/language-specification/index
C#进阶之路
1.网上寻找编程练习题来带到练手的目的,并且巩固和学习新的C#知识,在这一过程中,一定要学会调试代码,可以提高学习的效率和查错速度。
2.学习数据开发技术,与数据库的交互技术ADO.NET
3.深入学习C#面向对象基础技能:封装,继承,多态的思想
4.碎片时间可以用来看红 黑 联 盟的C#文章,简短的介绍,可以提高认识:https://www.2cto.com/kf/ware/cs/index.html
项目实践
自己动手编写一些小而精的项目,达到整体认识的效果,比如经典的"坦克大战",“图书管理系统”,这些都是很"轻量级"的。当你把"坦克大战"项目编写完毕,就可以进行更大的项目设计,增加权限管理等等。
.NET Core学习
现在微软在极力推荐跨平台,.NET Core可以实现在多平台运行,是以后微软重要的方向。所以学习上面知识之后一定要了解.NET Core,跟上时代发展的步伐。 -
C#学习心得
2017-02-17 11:12:03C#学习心得 版本:v2.0 Crifan Li 摘要 本文主要介绍了C#中的一些学习心得,包括但不限于Regex,TreeView,字典类型变量,spritf,UrlEncode等 本文提供多种格式供: ... -
C# 学习书籍推荐(步步为营)
2020-07-17 13:39:00本文只要介绍,C#学习的书籍。 C#入门经典(第8版) C#高级编程(第11版) C#图解教程 第5版(图灵出品) WPF编程宝典:使用C# 2012和.NET 4.5(第4版) C#从入门到精通(第5版) C#项目开发实战入门(全彩版... -
c#学习第一天
2018-02-08 18:38:34c#学习第一天思维导图 -
C# 学习教材
2011-02-20 15:30:00从上述众多系列中,我们可以选出两个系列,作为大家的C#学习教材。O’Reilly:Programming C#->C# Cookbook->Programming ASP.NET->ASP.NET Cookbook Wrox:Beginning Visual C# 2005->Professional Visual C# 2005... -
C#学习9
2012-09-07 10:41:41C#学习9:类与对象 类与构造函数的使用,建一个圆形类,半径默认为0,count统计有几个圆 //Circle.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ... -
C#学习11
2012-09-09 02:23:07C#学习11 使用Windows窗体应用程序,基于Windows Media Player组件写一个简单的播放器,功能比较简陋,通过打开文件按钮来选取音乐所在的地址,还有4个按钮,分别是:播放,结束,暂停/继续,歌曲信息 添加... -
C# 学习ErrorProvider
2012-04-07 17:14:32C#学习使用ErrorProvider 用戶在使用我們編寫的程序時,難免會出現輸入錯誤的現像,用戶如何知道你輸入的內容是在那個地方出錯了呢? 這里我們可用ErrorProvider來幫助我們。 我們想... -
C#学习笔记电子书
2011-11-15 00:23:02本书由浅入深地讲解Visual C# 2005编程知识,全书... 本书内容全面,不但适合于没有任何程序语言编程基础而欲直接学习C#技术的初学者,同时也适合于有一定C#开发基础而需要加深对C#核心技术进一步了解和掌握的程序员。 -
C#学习笔记 基本数据类型
2015-11-02 21:26:35C#学习笔记 基本数据类型 -
C#学习之System.Environment类
2017-02-07 10:32:21C#学习之System.Environment类 -
C#学习资料
2018-05-13 13:23:36微软的官方网站,C#程序员必去的地方。那里有API开发文档,还有各种代码、资源下载。 2、http://social.msdn.microsoft.com/Forums/zh-CN/home 微软msdn论坛。定位于微软技术的传播和技术问题的解决,是学习微软... -
C#学习推荐书单
2018-06-13 20:56:47搜罗了很长时间 如果是刚入门,非常推荐《叩响C#之门》 蓝奏云:... 《C#本质论-第四版》 ...提取码:1mh8 ...如果有需要,可以指定某本书(只限一本),留下邮箱,我有空会发的,共同学习。 ... -
Learning hard C#学习笔记 C#简介
2019-02-28 22:29:25第 1 章 你真的了解C#吗 在正式介绍C#的语法和特性之前,让我们首先来了解下它的发展历程。因为只有知道了C#的概貌和由来,积累了必要的背景知识,我们才能更好地掌握C#,进而使用C#来编程。 1.1 什么是C# C#... -
C#学习资源网站汇总
2019-02-18 13:17:56网址大放送:学习C#的好去处 https://msdn.microsoft.com https://www.cnblogs.com (中文,强烈推荐) https://www.codeplex.com (源码,强烈推荐) https://www.codeproject.com (英文,强烈推荐) ...
-
Xyplayer X3.9.3正式版.rar
-
MySQL NDB Cluster 负载均衡和高可用集群
-
Redis Desktop Manager_023210734.exe
-
项目经理成长之路
-
小议前馈神经网络(Feedforward Neural Network )
-
Mysql数据库面试直通车
-
Python中__new__()方法的作用,举例说明,简单易懂
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
-
hdoj 3533 Escape
-
DHCP 动态主机配置服务(在Linux环境下,配置单网段或跨网段提)
-
Java日期工具类练习使用
-
2010-2011年品牌微博营销执行方案.ppt
-
html学习笔记5——媒体元素、内联框架与表单
-
Web应用程序测试的工具selenium用法详解
-
营销葵花宝典.txt
-
MySQL中的DDL语句
-
第二章 分支程序结构设计——作业-答案.html
-
PHP类和对象
-
数据源网站.xlsx