http://www.25hoursaday.com/CsharpVsJava.html

ECMA-334

关键字

累计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#学习<一> 基础知识的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  3. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  4. 学习javascript基础知识系列第三节 - ()()用法

    总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...

  5. 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))

    关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...

  6. 学习Python3基础知识过程中总结

    print()中end==""的用法 例子:用Python3输出九九乘法表: for i in range(1,10): for j in range(1,i+1): s=i*j ...

  7. three.js学习笔记--基础知识

    基础知识 从去年开始就在计划中的three.js终于开始了 历史介绍 (摘自ijunfan1994的转载,感谢作者) OpenGL大概许多人都有所耳闻,它是最常用的跨平台图形库. WebGL是基于Op ...

  8. SQLServer学习笔记<>.基础知识,一些基本命令,单表查询(null top用法,with ties附加属性,over开窗函数),排名函数

    Sqlserver基础知识 (1)创建数据库 创建数据库有两种方式,手动创建和编写sql脚本创建,在这里我采用脚本的方式创建一个名称为TSQLFundamentals2008的数据库.脚本如下:   ...

  9. Android学习之基础知识十五 — 最佳UI体验(Material Design实战)

    一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...

  10. Android学习之基础知识十四 — Android特色开发之基于位置的服务

    一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动 ...

随机推荐

  1. 批处理文件指定jre路径启动java桌面应用程序

    应用场景: 我开发了一个应用程序,并连同jre一起刻成光盘,提供给用户,用户直接双击批处理文件即可运行,而不需要自己额外装jre. 目录组织结构如下: client |-images |-jre |- ...

  2. 产品需求文档(PRD)的写作方法之笔记一

    1.写前准备(思维导图): http://www.woshipm.com/?p=80070 1.在写之前,请先很区分清楚什么是MRD文档(市场需求文档),BRD文档(商业需求文档),什么是PRD文档( ...

  3. html中label宽度设置、非替换元素和替换元素

    <label ></label> 单独对label设置一个width:100px的属性石不起作用的,和float:left或者display:inline-block配合的话 ...

  4. mongodb分布式查询

    分布式查询:mongodb的分布式模型分为replica set和sharded cluster. sharded集群中将read根据sharding key(分片键)转发到指定的shard节点,re ...

  5. velocity模板引擎学习(2)-velocity tools 2.0

    使用velocity后,原来的很多标签无法使用了,必须借助velocity tools来完成,目前velocity tools最新版本是2.0,下面是velocity tools的一些注意事项: 1. ...

  6. nginx学习(2):启动gzip、虚拟主机、请求转发、负载均衡

    一.启用gzip gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; ...

  7. c++基础 使用智能指针

    三个智能指针模板(auto_ptr.unique_ptr和shard_ptr)都定义了类似指针的对象(c++11已将auto_ptr摒弃),可以将new获得(直接或间接) 的地址赋给这种对象.当智能指 ...

  8. 谈对象 MVC 和 多端

    什么是对象? 我是单身狗,我没有对象:我是C程序猿,我没有对象:我是程序猿,我只会new一个对象. 言归正传,想想从一个电商网站上买一个东西,“进入首页,搜索商品,选型购买,登录下单,支付完成”,这里 ...

  9. 为什么Javascript中的基本类型能调用方法?

    我们从一道笔试题说起: var str = 'string'; str.pro = 'hello'; console.log(str.pro + 'world'); 输出啥?要理解这个问题,我们得从头 ...

  10. SQL 批量修改表结构

    项目中发现一批语言表的某个字段设的值太小了需要增大,因为涉及到很多张表,所以采用游标一张张的处理. 代码很简单 ) ) DECLARE LangTable CURSOR FOR SELECT name ...