C#学习笔记整理_变量等基础语法(必看篇)
C#学习笔记1:
变量的作用域冲突时,调用实例变量:this.a,调用类变量:类名.a
常量总是静态的,必须初始化,一般用全大写格式,声明关键字为const,如const int NUNBE = 10;
C#的基本预定义类型内置于.NET Framework结构中(System),object是基类;
整型:System.SByte、System.Int16、System.Int32、System.Int64
有符号的8位、16位、32位、64位分别表示为sbyte、short、int、long
无符号的8位、16位、32位、64位分别表示为byte、ushort、uint、ulong
如果对一个整数是int、uint、long、ulong显式声明加后缀U、L、UL,按数值范围选择类型,默认是int
浮点型:32位单精度float后缀F、64位双精度double、128位高精度decimal后缀M;
字符类型:char,如单引号括起来的'A',4位16进制的Unicode值(如'\u0041')、带数据类型转换((char)65)、16进制数('\u0041')、转义字符;
string类型是引用类型,但字符串是不可改变的,修改其中一个字符串会创建一个全新的string对象,而原字符串不发生变化;
string与char类似,但它是用""括起来的,也可以用转义,或加前缀@"...",将包含的所有字符看做其原来的意义,即无需转义”\”;
if (bool)
switch...case..break,每个case必须带break;来结束,或者用goto case..激活case,或者case后子代码为空则跳到下一个case;
switch语句中,case子句之间、甚至和default子句的顺序是无关紧要的,但任何两条case都不能相同,包括值相同、名不同的常量;
for (int i = 0; i < 100; i++){…}
while (bool){...},当不知道重复执行次数时使用while,可在子句内改变bool变量值以结束循环;
do{...}while (bool)至少执行1次,先执行后再判断是否循环;
foreach(var x in arrays){...},迭代集合中的每一项,每一次都把元素的值绑定在变量x中,但不能改变x的值,如需改变x值应用for循环;
goto Label1;语句直接跳转到该标签指定的行,标签定义Label1: ...,goto语句不能跳转到循环体中、不能跳出类的范围、不能退出try...catch块后面的finally;
break语句可用于退出for、foreach、while、do...while循环、switch语句;
continue语句类似break,但它只是退出循环的当前迭代,执行下一次迭代;
return语句用于退出类的方法,把控制权返回方法的调用者;
默认情况下,不管是值类型、引用类型作为方法的参数,传递的都是它在栈上的副本(值的副本,引用的副本),方法对该副本本身的修改仅在方法内部有效,不影响其原来的值,注意:修改引用副本本身仅在方法内部有效,而对引用副本的成员的修改将保存至方法体外;若要将对该副本的修改保存至方法体外,则需加ref或out前缀,这样,传递给方法的是参数的引用,而不是副本;
ref要求参数已经初始化过,而out无要求,但需在本方法内对其赋值;
方法的可选参数:定义时需将可选参数放最后,且必须初始化,调用时可忽略该参数而使用该可选参数的默认值,或给它提供新的值;
方法的重载(多肽):可以定义多个名称相同,参数个数、参数类型不同的方法,不能仅在返回值类型上有区别,不能仅根据参数是否为ref或out来区分;
如果使用可选参数无法达到目的,则可通过定义重载方法来实现;
以上就是小编为大家带来的C#学习笔记整理_变量等基础语法(必看篇)的全部内容了,希望对大家有所帮助,多多支持我们~
相关推荐
-
C#不同类型的成员变量(字段)的默认值介绍
创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始值,C#编译器缺省将每一个成员变量初始化为他的默认值. 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显示的设定一个值.否则会发生"使用了未赋值的局部变量"的错误. 对于其他情况,编译器会在创建变量时,把变量初始化为默认值.1.对于整型.浮点型.枚举类型(数值型),默认值为0或0.0.2.字符类型的默认值为\x0000.3.布尔类型的默认值为false.4.引用类型的默认值为null. 如果声时变
-
C#中static静态变量的用法实例
本文实例讲述了C#中static静态变量的用法.分享给大家供大家参考.具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型 静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: ① .该变量在全局数据区分配内存. ② .初始化:如果不显式初始化,那么将被隐式初始化为0. 静态局部变量 定义:在局部
-
C#中常量和只读变量的区别小结
常量和只读变量有以下区别: 1.常量必须在声明时就被初始化,指定了值后就不能修改了.只读字段可以在声明时被初始化,也可以在构造函数中指定初始化的值,在构造以后值就不能修改. 2.常量是静态的,而只读字段可以是静态和动态的 3.Const可以用在字段和局部变量,readonly只可以修饰字段
-
C#中属性和成员变量的区别说明
一个类,有时候搞不清楚到底用成员变量还是属性. 如: 成员变量 public string Name; 或者用属性 private string name public string Name{ get { return name; } set { name = value; } } 属性与成员变量类似
-
C# 基础入门--变量
使用变量分为3步:声明.赋值.使用. 声明变量的语法:数据类型 变量名: 给变量赋值的语法:变量名=值: namespace Test { class Program { static void Main(string[] args) { int age;//声明变量,类型为int,变量名为age age = 18;//给变量age赋值为18 Console.WriteLine("我今年"+age="岁");//打印age age = 19;//修改了变量age的值
-
在c#中把字符串转为变量名并获取变量值的小例子
复制代码 代码如下: public class Program { public string str = "spp"; public string spp = "Hello World!"; public static void Main(string[] args) { Program p = new Program(); Console.WriteLine(p.GetType().GetFi
-
C#: 引用变量与数值变量的区别
1. 值参数当利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并且将此拷贝传递给该方法.被调用的方法不传经修改内存中实参的值,所以使用值参数时,可以保证实际值是安全的.在调用方法时,如果形式化参数的类型是值参数的话,调用的实参的值必须保证是正确的值表达式.在下面的例子中,程序员并没有实现他希望交换值的目的: 复制代码 代码如下: using System;class Test{static void Swap(int x,int y){int temp=x;x=y;y=temp;}stat
-
C#把整个文件内容读入字符串变量的方法
本文实例讲述了C#把整个文件内容读入字符串变量的方法.分享给大家供大家参考.具体实现方法如下: using System; namespace PlayingAround { class ReadAll { public static void Main(string[] args) { string contents = System.IO.File.ReadAllText(@"C:\t1"); Console.Out.WriteLine("contents = "
-
C#类中属性与成员变量的使用小结
属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已. 使用中注意问题:1.属性名和变量名不能相同, 2.一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些 3.属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法: 复制代码 代码如下: public int b //定义一个属性b { get { return b; } set { b = val
-
C#学习笔记整理_变量等基础语法(必看篇)
C#学习笔记1: 变量的作用域冲突时,调用实例变量:this.a,调用类变量:类名.a 常量总是静态的,必须初始化,一般用全大写格式,声明关键字为const,如const int NUNBE = 10; C#的基本预定义类型内置于.NET Framework结构中(System),object是基类: 整型:System.SByte.System.Int16.System.Int32.System.Int64 有符号的8位.16位.32位.64位分别表示为sbyte.short.int.long
-
JavaScript学习笔记整理_关于表达式和语句
表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,若没有值则返回undefined eval()使用了调用它的变量的作用域环境 它接收的字符串参数,在作为单独的代码时,必须是有语义的,否则编译失败 delete运算符:用来删除对象的自由属性.数组的元素, 删除属性后,属性将不存在,而删除数组元素后,会在数组内留下一个值为undefine
-
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
如下所示: //实现枚举类型,扑克牌应用 function creatEnum(p){ //构造函数 var Enumeration = function(){throw 'can not Instantiate Enumerations';}; //重写原型并将原型赋值给变量proto var proto = Enumeration.prototype = { constructor:Enumeration, toString:function(){return this.name;}, va
-
C#学习笔记整理_浅谈Math类的方法
c#中Math类的方法 Math.Abs 已重载. 返回指定数字的绝对值. Math.Acos 返回余弦值为指定数字的角度. Math.Asin 返回正弦值为指定数字的角度. Math.Atan 返回正切值为指定数字的角度. Math.Atan2 返回正切值为两个指定数字的商的角度. Math.BigMul 生成两个 32 位数字的完整乘积. Math.Ceiling 已重载. 返回大于或等于指定数字的最小整数. Math.Cos 返回指定角度的余弦值. Math.Cosh 返回指定角度的双曲余
-
C#学习笔记整理_深入剖析构造函数、析构函数
构造函数.析构函数 构造函数: 1.若没提供任何构造函数,则系统会自动提供一个默认的构造函数,初始化所有成员为默认值(引用类型为空引用null,值类型为0,bool类型为false): 2.若提供了带参数的构造函数,则系统不提供默认的构造函数: 3.构造函数可重载:可提供多个不同版本的构造函数,依据参数的个数.类型来区分: 4.私有构造函数:则无法通过该构造函数实例化该对象,可通过调用静态函数来实例化:当仅用作某些静态成员或属性的容器时,可定义私有构造函数来防止被实例化: 一般的构造函数都是实例
-
JavaScript学习笔记整理_用于模式匹配的String方法
用于模式匹配的String方法: String支持4种使用正则表达式的方法: seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式,seach()方法不支持全局搜索,它忽略修饰符g: replace()用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串.它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符g则全文匹配.若第一个参
-
JavaScript_object基础入门(必看篇)
之前写Java时老是有点蒙,大部分都是用jQuery,但原理还不是很清楚,最近一段时间在系统的学习JavaScript,有什么问题或错误请指出,多谢..................... Object所有类的基础类 var obj = new Object(); var obj = {}; //实例化对象 给对象设置属性分为两种: 1.使用直接量的方式:对象.属性/方法,这种方式直观.易懂 obj.name = '张三'; obj.age = 20; obj.sex = '男'; obj.s
-
c语言 树的基础知识(必看篇)
第一.树的定义: 1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树 第二.专业术语: 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度. 根节点是第一层 结点的层次:根节点为第一层,根节点的子节点为第2层,以此类推 叶子节点:没有子节点的节点 非终端节点:实际就是非叶子节点 结点度: 子节点的个数称为度树的度 第三.树的分类 一般树:任意一个节点的子节点的个数不受限制 二叉树:任意一个节点的子节点最多2个,且子节点的位置不可更改 满二叉树:在不增加层数的
-
iOS10推送之基础知识(必看篇)
前言 在北京时间9月14号凌晨1点,苹果正式推送iOS 10正式版,下面给大家详细的介绍iOS10推送的基础知识,在看完简单入门篇大家就可以简单适配了,然后再通过中级篇的内容,相信对大家学习理解有很大的帮助,下面话不多说了,来看看吧. 一.简单入门篇 相对简单的推送证书以及环境的问题,我就不在这里讲啦,我在这里说的,是指原有工程的适配. 1.首先我们需要打开下面的开关.所有的推送平台,不管是极光还是什么的,要想收到推送,这个是必须打开的哟~ 之后,系统会生成一个我们以前没见过的文件,如图: 可能
-
javascript学习笔记_浅谈基础语法,类型,变量
基础语法.类型.变量 非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或非数字值时,返回true; 3.用isFinity(x),在x不是NaN.Infinity.-Infinity时返回true; 虽然(字符串.数字.布尔值)不是对象,他们的属性是只读的,但也可以像操作对象一样来引用他们的属性和方法,原理: javascript构造一个(String.Number.Boo
随机推荐
- Java实现字符串匹配(基于正则)
- 键盘事件中keyCode、which和charCode 的兼容性测试
- IOS程序开发之跳转短信发送界面实现发送短信功能
- asp.net中使用repeater和PageDataSource搭配实现分页代码
- 代码精简的可以实现元素圆角的js函数
- php页面跳转代码 输入网址跳转到你定义的页面
- 中高级PHP程序员应该掌握哪些技术?
- 基于PHP技术开发客服工单系统
- Android编程之桌面小部件AppWidgetProvider用法示例
- datePicker——日期选择控件(with jquery)
- 读jQuery之十四 (触发事件核心方法)
- Python编程判断一个正整数是否为素数的方法
- javascript中call apply 与 bind方法详解
- Windows2003下php5.4安装配置教程(Apache2.4)
- 冒泡排序的三种实现方法
- Hibernate悲观锁和乐观锁实例详解
- Taro集成Redux快速上手的方法示例
- 如何提升vue.js中大型数据的性能
- Spring Boot整合Web项目常用功能详解
- 易语言通过画图片命令将指定图片画到画板中