随笔分类 - C#
摘要:using System;using System.Collections.Generic; using System.Linq; namespace ConsoleApplication1d { class CTX { public int id = 10; public string name = "rich"; public int ...
阅读全文
摘要:public class myButtonEvent : MonoBehaviour { delegate void Proxy(); // Use this for initialization void Start () { Debug.Log ("myButtonEvent---start"); Proxy pxy = OnMyCl...
阅读全文
摘要:这是一篇晦涩难懂的片面的研究 一,简单的继承层次 在这种情形下调用Test(oc)有如下规律:<通过注释掉其它函数进行测试> 由此我们得知,Test(oc)调用时,编译器会由oc的继承层次由子到父的优先级去匹配重载函数的形参。这也符合正常逻辑。 二,类中有运算符重载的继承 此情形下boolTest重
阅读全文
摘要:1,Random,直接使用Random会报错,要么使用UnityEngine.Random,要么使用System.Random
阅读全文
摘要:编译时出现如下错误: 可以看到34行和36行都出现了编译错误,而35行则正确编译。原因分析: C#中,reference类型变量存储在堆上,value类型存储在栈上。pos, posx, position都是值类型,为什么会有不同的编译结果呢。区别在于 pos, position是属性,posx是字
阅读全文
摘要:使用VS开发U3D项目时,去察看某个变量的声明,比如某组件的gameObject变量,会看到如下代码 一看似乎有点晕,这代码什么意思啊,就一个 public GameObject gameObject {get;} 这有点像属性的简洁声明: 但事实是这样的吗? 经过测试,并非如此 写一个小程序来验证
阅读全文
摘要:C#运算符重载函数必须是public static的 struct CSTest { public int posx; public static CSTest operator + (CSTest o1, CSTest o2) {//二元运算符重载 CSTest ost = new CSTest(
阅读全文
摘要:1,结构体不能出现在继承关系中,除了继承接口。 结构体不能继承类或结构,也不能被类或结构继承,只可以继承接口。 2,struct不能定义默认构造函数(无参构造函数),也不能定义析构函数。class对这两点都无限制。 3,如果struct提供了带参构造函数,则它的所有字段(变量)都必须在构造函数中初始
阅读全文
摘要:可空类型,语法: Nullable<int> inullx = 10; int? inully = 10; Nullable<int> inullx0 = null; int? inully0 = null; 作用: 如数据库中存在可为空的数据, 在C#中用一个值类型变量去接收该值会出错,因为C#中
阅读全文
摘要:1,引用类型 as2,值类型数值类转字符串:toString()字符串转数值类:float f = Convert.Parse("123.4") 及 float.Parse("123.4")及 float.TryParse("123.4")TryParse()不会抛出异常,转换不成功则维持out值不
阅读全文
摘要:if(obj is ClassA) //遍历类层次,看OBJ是不是ClassA类型{ ClassA a=(ClassA) obj; //遍历类层次,看obj能否转换为ClassA,不成功则抛出异常 ... }//作了两次类层次遍历 ClassA a = obj as ClassA //不成功返回nu
阅读全文
摘要:1,继承,若基类为带参构造函数,则子类也必须有带参构造函数。若基类有无参和有参构造函数,则基类可以不提供有参构造函数。 2,构造函数可以被重载(在本类中),可以被显示调用(在构造函数的构造列表中),不能被继承,不可以在其它任何地方调用。 class CTest { //重载 CTest(int x,
阅读全文
摘要:1,将源代码编译成托管代码。源代码如C#,VB,F#2,将托管代码合并成程序集。3,加载公共语言运行时。4,执行程序集的代码。
阅读全文
摘要:1,字符串遍历不同处:例: str = "汉字ABCabc"C#可以使用str[i]取得字符串中的汉字字符和拼音字符:Str[0] :汉Str[1]:字Str[2] : A依次类推。LUA中:Str[1] : nilStr[2]: nil…全为nil, 语法不支持这样的下标功能,只有string.b
阅读全文
摘要:这种类型又称财务类型,起源于有效数字问题。FLOAT 单精度,有效数字7位。有效数字是整数部分和小数部分加起来一共多少位。当使用科学计数法的,FLOAT型会出现很严重的错误。比如 877323457832 元钱。写为科学计数法8.773234e11,还原回来 = 877323400000,损失了57
阅读全文
摘要:C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。前者用“const”来定义,后者用“readonly”来定义。 对于静态常量(Compile-time constant),它的书写方式如下: publ
阅读全文
摘要:1,接口内的成员都是PUBLIC的,已默认,不能写明PUBLIC。2,接口不能有字段,可以有属性但不能实现。如: interface IShape { void func(); int Code { set; //不可以写成实现,也无法写实现,因为接口内不能有字段,故没法写成如set{ _code
阅读全文
摘要:1,主要作用:将读,写权限分开。如果不使用属性,仅使用public, protected, private,这几个限制都是读,写属性一起的,可读就可写,不可读同时也不可写。不能实现只读不可写,只写不可读的需求。2,更好的安全性:可以在SET中通过条件判断来限制非法值等。这虽然可以通过函数来实现,但不
阅读全文
摘要:1.命名空间下的元素的默认访问修饰符 public : 同一程序集的其他任何代码或引用该程序集的其他程序集都可以访问该类型或成员。internal : 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问。 2.各类型中的成员的默认访问修饰符剩下的修饰符主要是正对继承这个语言特性的,
阅读全文

浙公网安备 33010602011771号