C#基础速学

原文地址 https://www.cnblogs.com/younShieh/p/10945264.html

  前几天在刷即刻的时候发现了一个GitHub上的项目,该项目名为“learn x in y minutes”,这个名称就很简明扼要——“y分钟学习xxx”,一看就很牛。对于这种大神级别的人物我是非常憧憬的,怀着欣喜和敬畏的心态,点下了star,然后我就把网页关了。。。不要问我为什么不趁热学习一下,毕竟众所周知,收藏就等于学会了嘛。

  n天后的今天,我终于想起来有这么一个伟大的项目还躺在我的列表里,我又把它翻了出来,学习了一下该项目里的c#文档。果然不负众望,收获颇丰。正如作者所说的:

Code documentation written as code! How novel and totally my idea!

  确实是很新奇的讲解方法,几百行代码就把C#的很多常用基础语法讲了个遍,而且是以代码的形式,没有长篇大论,用代码讲语法才是最直观的。但是觉得不太适合初学者,还是适合有一定基础的人,不然一句都看不懂,也没有释义,可不得在心里把作者骂个十几遍。

  废话不多说,项目地址:https://github.com/adambard/learnxinyminutes-docs

  这个项目里的c#代码在运行时存在一些简单的问题,我自作主张的进行了修改。修改后的代码贴在文章末尾了。

  把这个文档和项目分享出来,希望能对向我一样的新手有帮助。


// 单行注释以 // 开始
/*
多行注释是这样的
*/
/// <summary> /// XML文档注释 /// </summary> // 声明应用用到的命名空间 using System; using System.Collections.Generic; using System.Data.Entity; using System.Dynamic; using System.IO; using System.Linq; using System.Net; using System.Threading.Tasks; // 定义作用域,将代码组织成包 namespace Learning { // 每个 .cs 文件至少需要包含一个和文件名相同的类 // 你可以不这么干,但是这样不好。 public class LearnCSharp { // 基本语法 - 如果你以前用过 Java 或 C++ 的话,可以直接跳到后文「有趣的特性」 public static void Syntax() { // 使用 Console.WriteLine 打印信息 Console.WriteLine("Hello World"); Console.WriteLine( "Integer: " + 10 + " Double: " + 3.14 + " Boolean: " + true); // 使用 Console.Write 打印,不带换行符号 Console.Write("Hello "); Console.Write("World"); // 字符串 -- 和前面的基本类型不同,字符串不是值,而是引用。 // 这意味着你可以将字符串设为null。 string fooString = "\"escape\" quotes and add \n (new lines) and \t (tabs)"; Console.WriteLine(fooString); // 你可以通过索引访问字符串的每个字符: char charFromString = fooString[1]; // => 'e' // 字符串不可修改: fooString[1] = 'X' 是行不通的; // 根据当前的locale设定比较字符串,大小写不敏感 string.Compare(fooString, "x", StringComparison.CurrentCultureIgnoreCase); // 基于sprintf的字符串格式化 string fooFs = string.Format("Check Check, {0} {1}, {0} {1:0.0}", 1, 2); // 日期和格式 DateTime fooDate = DateTime.Now; Console.WriteLine(fooDate.ToString("hh:mm, dd MMM yyyy")); /////////////////////////////////////////////////// // 数据结构 /////////////////////////////////////////////////// // 数组 - 从0开始计数 // 声明数组时需要确定数组长度 // 声明数组的格式如下: // <datatype>[] <var name> = new <datatype>[<array size>]; int[] intArray = new int[10]; // 声明并初始化数组的其他方式: int[] y = { 9000, 1000, 1337 }; // 访问数组的元素 Console.WriteLine("intArray @ 0: " + intArray[0]); // 数组可以修改 intArray[1] = 1; // 列表 // 列表比数组更常用,因为列表更灵活。 // 声明列表的格式如下: // List<datatype> <var name> = new List<datatype>(); List<int> intList = new List<int>(); List<string> stringList = new List<string>(); List<int> z = new List<int> { 9000, 1000, 1337 }; // i // <>用于泛型 - 参考下文 // 列表无默认值 // 访问列表元素时必须首先添加元素 intList.Add(1); Console.WriteLine("intList @ 0: " + intList[0]); // 其他数据结构: // 堆栈/队列 // 字典 (哈希表的实现) // 哈希集合 // 只读集合 // 元组 (.Net 4+) /////////////////////////////////////// // 操作符 /////////////////////////////////////// Console.WriteLine("\n->Operators"); int i1 = 1, i2 = 2; // 多重声明的简写形式 // 算术直截了当 Console.WriteLine(i1 + i2 - i1 * 3 / 7); // => 3 // 取余 Console.WriteLine("11%3 = " + (11 % 3)); // => 2 // 比较操作符 Console.WriteLine("3 == 2? " + (3 == 2)); // => false Console.WriteLine("3 != 2? " + (3 != 2)); // => true Console.WriteLine("3 > 2? " + (3 > 2)); // => true Console.WriteLine("3 < 2? " + (3 < 2)); // => false Console.WriteLine("2 <= 2? " + (2 <= 2)); // => true Console.WriteLine("2 >= 2? " + (2 >= 2)); // => true // 位操作符 /* ~ 取反 << 左移(有符号) >> 右移(有符号) & 与 ^ 异或 | 或 */ // 自增、自减 int i = 0; Console.WriteLine("\n->Inc/Dec-rementation"); Console.WriteLine(i++); //i = 1. 事后自增 Console.WriteLine(++i); //i = 2. 事先自增 Console.WriteLine(i--); //i = 1. 事后自减 Console.WriteLine(--i); //i = 0. 事先自减 /////////////////////////////////////// // 控制结构 

转载于:https://www.cnblogs.com/xuqiang7/p/10947927.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值