c#学习<一> 基础知识
http://www.25hoursaday.com/CsharpVsJava.html
关键字
累计103 个,其中关键字77个,上下文关键字26个。(c#5.0)


标识符
1. 与C语言相比,标识符中可包含@符号: @class。
对比记忆: JavaScript中的$符号,swift中则通过'class' 来使用关键字做标识符。
2. 遵循C#的Pascal命名法,入口函数Main方法,首字母大写。
控制台输入输出
static void Main(string[] args)
{
//ReadLine
string x = Console.ReadLine();
Console.WriteLine(x); //ReadKey
ConsoleKeyInfo key;
while ((key = Console.ReadKey()).Key != ConsoleKey.Enter)
{
//使用索引占位符
Console.WriteLine("\n按键为{1}键{0}{0}", "!", key.KeyChar);
Console.WriteLine($"\n按键为{ key.KeyChar}键{"!"}{"!"}");//6.0
} //Read 返回与读取到的字符相对应的数值,且不按回车键,不会返回输入
//,如果按回车前用户输入了多个字符,取第一个
char c = (char)Console.Read();
Console.Write(c); Console.ReadKey();
}
索引占位符的索引(从零开始)必须大于或等于零,且小于参数列表的大小。可以任意顺序在字符串中出现,同一个占位符可以使用多次, 可以忽略占位符(不传入参数列表),但每个占位符都必需带一个参数
Console.WriteLine("\n按键为{1}键{0}{0}{3}", "!", key.KeyChar); //报错
Console.WriteLine("\n按键为{1}键{0}{0}{3}"); //ok
注解
c#中注解有4类:/**/,// ,/** */,///
后两种注释为XML注释,可以导出
C#和.net版本
| 版本 | 語言規格 | 日期 | .NET框架的版本 | Visual Studio的版本 | ||
|---|---|---|---|---|---|---|
| ECMA | ISO/IEC | Microsoft | ||||
| C# 1.0 | 2002年12月 | 2003年四月 | 2002年一月 | 2002年一月 | .NET Framework 1.0 | Visual Studio .NET 2002 |
| C# 1.2 | 2003年十月 | 2003年四月 | .NET Framework 1.1 | Visual Studio .NET 2003 | ||
| C# 2.0 | 2006年六月 | 2006年九月 | 2005年九月 | 2005年11月 | .NET Framework 2.0 | Visual Studio 2005 |
| C# 3.0 | 2007年八月 | 2006年11月 | .NET Framework 3.5 | Visual Studio 2008 | ||
| C# 4.0 | 2010年四月 | 2010年四月 | .NET Framework 4 | Visual Studio 2010 | ||
| C# 5.0 | 2012年十月 | 2012年4月 | .NET Framework 4.5 | Visual Studio 2012 | ||
| .NET Framework 4.5.1 | Visual Studio 2013 | |||||
| C# 6.0 | 2015年七月 | 2015年7月 | .NET Framework 4.6 | Visual Studio 2015 | ||

操作符
c#中操作数总是从左向右求值
A() + B() * C() : 求值顺序从左到右,不会因为乘法优先级高就先求解B(),C()
而类似的c/c++则并没有规范求值顺序,某些表达式,不同的编译器会得出不同的结果。
避免将二进制浮点类型用于相等性条件式
要么判别两个值之差是否在容差范围内,要么使用decimal类型
二进制浮点数除以零,结果为NaN,但int和decimal等数据类型除以零会报错
类似的还有System.Math.Sqrt(-1),获取负数的平方根也会得到一个负数
浮点数的正负无穷,-Infinity, Infinity
负零和正零
C#中可以重载运算符
c#学习<一> 基础知识的更多相关文章
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...
- 学习Python3基础知识过程中总结
print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...
- three.js学习笔记--基础知识
基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...
- SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数
Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下: ...
- Android学习之基础知识十五 — 最佳UI体验(Material Design实战)
一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...
- Android学习之基础知识十四 — Android特色开发之基于位置的服务
一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动 ...
随机推荐
- 网格最短路径算法(Dijkstra & Fast Marching)
Dijkstra算法是计算图中节点之间最短路径的经典算法,网上关于Dijkstra算法原理介绍比较多,这里不再多讲.值得一提的是,当图中节点之间的权重都为1时,Dijkstra算法就变化为一般意义上的 ...
- Nginx负载均衡配置
1.yum安装nginx yum install nginx 2.启动nginx chkconfig nginx on service nginx start向web服务器中放入测试文件: < ...
- UIDate(时间)
1.时间与时间的比较 ["时间1" timeIntervalSinceDate:"时间2"] >= 0;
- python-day02数据类型-字符串和列表的操作
while循环: while True: 条件语句....... 关于break和continue,break:跳出当前的循环 contnu ...
- weblogic下部署应用时slf4j与logbak冲突的解决办法
今天在weblogic上部署一个使用logback的应用时,报错如下: java.lang.IllegalArgumentException: Invalid 'logbackConfigLocati ...
- Spring JDBCTemplate使用JNDI数据源
xml配置: <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverMana ...
- java实战之解析xml
在java中解析xml有现成的包提供方法,常用的有四类:Dom,JDom,Sax以及Dom4j.其中前者是java中自带的,后三者需要大家从开源诸如sourceforge这样的网站下载jar包,然后在 ...
- PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)
主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00 今天的主要内容:Markov Chain Monte Carlo,M ...
- 求解最大矩形面积 — leetcode 85. Maximal Rectangle
之前切了道求解最大正方形的题,题解猛戳 这里.这道题 Maximal Rectangle 题意与之类似,但是解法完全不一样. 先来看这道题 Largest Rectangle in Histogram ...
- Vuforia AR SDK入门
Vuforia是一个能让应用拥有视觉的软件平台.开发者借助它可以很轻松地为任何应用添加先进计算机视觉功能,允许你识别图片和物体,或者在真实世界中重建环境内容. 如果你现在正在制作一些可交互的市场活动项 ...