- FinCloud
-
如果不赋予初值,C#的变量是不允许直接使用的。
但有的时候,让值的类型为空是非常有用的,
比如三态bool,其中一个状态便是未给定值。
泛型使用System.NullAble<T>提供了类型值为空的一种方式。
System.NullAble<T> nullAbleInt;
因为太常用,C#特意给了一个语法快捷
int? nullAbleInt;
简单的例子:
int? nVal1 = new int?();
int? nVal2 = null;
int? nVal3 = 3;
Console.WriteLine(nVal1); // 输出null
Console.WriteLine(nVal2); // 输出null
Console.WriteLine(nVal3); // 输出3
原则:null与任何数数学运算结果为null,null bool 操作任何值结果为 null。
为了减少可空类型的代码量,遇到null的时候
C#提供了??操作符来获取如果为空的默认值。
static void Main(string[] args)
{
int? nVal1 = null;
int? nVal2 = 5;
// nVal1为空,相乘后还是null,输出0作为默认值
Console.WriteLine(2 * nVal1 ?? 0);
// nVal2非空,取计算值输出,输出10
Console.WriteLine(2 * nVal2 ?? 0);
}
- CarieVinne
-
!在C like语言中的意思是取反的意思。
例如:==这是比较“等于”,"!="就是比较"不等于"
再例如 t = true; !t则表示false.
- wpBeta
-
字段和属性是C#面向对象模式中的两个概念。
字段(field) 用来存储数值或对象的真正实体 简单说是私有变量(不一定是私有...)
属性(property) 对字段的封装(也不一定- -) 有get段落和set段落 通常是公开的 通常get段和set段执行过程都是轻量的(这是一个语义约定 也是C#不同于java的地方 重量级 耗时的获取也要用函数来表达而不是属性 java就没这种语义了 一律get- -)
字段和属性都属于类的成员
我说的不一定是因为通常它们是这么用的 但是在不同设计模式和上下文场合 字段的私有会造成取值赋值的效率降低 比如你不得不对一个占用64字节的结构体频繁取值赋值 就用公开字段好了...
属性是个非常奇妙的东西 它包含着写段落和读段落所以又叫读写器 正常的意义是field的wapper 因为你可以通过只写get段或set段 对字段达到只读和只写的访问控制 甚至可以对get和set加上访问权限修饰符 比如protected get; private set;
因为get和set段像是两个函数一样 所以你可以在里面写很多奇怪的东西达到不同的设计期望 比如get里可以先判断if (字段==null ) new() return 字段;的这种单例模式设计 set里则可以加上事件触发和有效性判断等逻辑 所以合理的利用属性这种语法对C#程序设计很重要
字段命名加上下划线是类似匈牙利命名法的要求 表示它是private的
不过因为C#是大小写敏感的 你完全可以对字段采用camel命名法 而对属性采用pascal命名法加以区分 但是vb.net不一样 为了两种语言风格统一 你可以采用下划线的方式进行区分 这只是开发风格的问题
- 北有云溪
-
这是 .NET3.0以后的新特性 Lambda表达式
RelayCommand(() => this.AddPerson(), () => this.CanAddPerson());
的意思可以翻译为
RelayCommand(参数一, 参数二);
参数一 :() => this.AddPerson()
参数二 :() => this.CanAddPerson()
() => this.AddPerson() 的意思是 一个没有参数的方法,返回 this.AddPerson() 而这个返回值的类型不用指定 系统会自动判断
同理 () => this.CanAddPerson() 就是 一个没有参数的方法返回this.CanAddPerson()
- 可桃可挑
-
是或的 意思,和 || 不同的是, | 这个是 或, || 叫短路或!
也就是说例如 if( true | false) 它就会检测完两个英文,再判断.
而if( true || false) 呢,就只要检测到第一个符合了,就不再检测第二个了!
若有疑问请继续提出。
- tt白
-
你说的是不是c#中@的意思啊
@其实就是取消字符串中的转义作用,忽略转义符。给你3个列子
1、当你要输入一个路径:C:windowssystem32calc.exe
普通输入就是C:\windows\system32\calc.exe
但是你可以前面加个@就不用输入两个\了
@“C:windowssystem32calc.exe”
2、不加@的字符串" 02wang" 中 是换行 02是八进制
而加了@那就是字符串" 02wang"
3、你想保存一个"samplemyfile.txt"到变量str中,原本就要写成
string str="\sample\myfile.txt";
加了@之后就可以直接写成
string str = @"samplemyfile.txt";
希望能帮到你。
- 善士六合
-
x+=表达式;
就是 x=x+表达式;的简写方式。其中 的“表达式”,可以是任何合法的数值表达式。
类似地,还有 -= *= /= 等等,也都是同样的意思。
例如,最常见的:
x+=3; 就是x=x+3;
x-=3+4; 就是x=x-(3+4);
x*=a+b; 就是x=x*(a+b);
x/=a-b; 就是x=x/(a-b);
- 豆豆staR
-
如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。
- 陶小凡
-
让转移字符""保持原意,不要转义,如一个地址字符串
string path="c:abc";
默认的""是作为转义来使用的,而不是一个真的斜杠字符串
所以这个地方要取到地址,正确的写法应该是:
string path=@"c:abc"; //这里的@让斜杠保持原意,不要转义
或者
string path="c:\abc\"; //不用@ 斜杠表示转义,所以要多加个斜杠
- 拌三丝
-
C#中+=表示复合的赋值运算符;比如你的代码:
INTVAL1 =11 INTVAL2 =10
INTVAL1+=INTVAL2 //等价于INTVAL1=INTVAL1+INTVAL2 ,其中后面一个INTVAL1的值为11,INTVAL2 的值为10,执行语句后,INTVAL1的值就为21
- meira
-
说到??就不得不提到三目运算符?:
来看两个例子:
一、
int? a = null;
int b = a ?? 1;
int c = a==NULL ? a : 1;
结果b=c=1
二、
int?a=2;
int b=a??1;
int c = a==NULL ? a :1;
结果b=c=2
??运算符,从某些方面上来说也是三目运算符?:判断变量是否为空值时的的语法糖,当左边为空的时候返回右边的值。
??运算符常用于非空判断,如果为空返回右边的值,给变量一个默认值,以免让变量为null。
- Jm-R
-
字符串,用双引号引起来的几个字符.如"Abc","一天".
字符串是 Unicode 字符的有序集合,用于表示文本。String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。
String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。看来似乎修改了 String 对象的方法实际上是返回一个包含修改内容的新 String 对象。如果需要修改字符串对象的实际内容,请使用 System.Text.StringBuilder 类。
- Chen
-
方法和属性 是属于类的成员
就是说类包括属性和方法,
例如,人比作一个类,
人的属性就有:名字,性别,年龄等(变量或是常量),
人的方法就有:吃饭,睡觉,上班等(运算,计算,事情)。
事件可以理解为现实生活中发生的各种事情,
委托就说个例子吧
例如,
第一天,老板找了个秘书并教给秘书怎么做工作,
第二天,老板拿了一堆文件放到秘书办公桌上,对秘书说帮我处理完这写报表,这就形成了一个委托,老板委托秘书帮他完成一份工作, 就是事先写好方法,事后调用。
C#中什么是变量?什么是常量?
在程序运行过程中,其值始终不变的量成为常量。C#中的常量有多种,包括整型常量,浮点型常量,小数型常量,字符型常量,布尔型常量和字符串型常量。反之,其值可以被改变的量称为变量。变量可以用来保存从外部过内部接受的数据,也可以保存在处理过程中产生的中间结果或最终结果。2023-06-10 22:24:021
C#中“变量”与“字段”有什么区别?
没区别。都是一段占用内存的数据而已。只是创建的地方不同而已,通常字段是在一个类中的一个属性,比如a.b而类是一个抽象的,而b也是抽象的,变量就不同了就是具体到一个实体。可以说变量是一个类的实体化,而字段是一个类的一个部分。大概就是人类和小明的关系。变量是小明,人类的性别被称为字段。2023-06-10 22:24:111
C#中静态变量和方法用什么用处
说实话,没什么用处,那不是OO的东西,会影响程序的结构2023-06-10 22:24:182
怎么配置C#环境变量
你没有安装vs.net是吗?但你至少要安装.framework;安装完.framework,以2.0为例吧,你打开“开始”,“程序”=》“Microsoft .NET Framework SDK v2.0”,看到了吗,有个“SDK 命令提示”你点它就可以在命令行下进行编译了,如果你一定要它是如何设定的环境变量,即path,你可以查看它的批处理文件。2023-06-10 22:24:253
C# 全局变量的使用方法?
你在program.cs里面定义public static string position就行了引用的时候program.positon就得到了2023-06-10 22:24:514
C#变量前面加@什么意思
这是sql中的用法,表示一个变量2023-06-10 22:25:025
c#变量名怎么递增
变量名不能递增2023-06-10 22:25:221
C# 输出变量
Response.Write("<script>alert("" + AswersdA + "")</script>");要这样,要加单引号,因为这个是字符串2023-06-10 22:25:291
C# 变量名用中文会出现什么问题?
完全没有问题,il都一样,就是频繁切换输入法很麻烦啊,要不然变量名用中文岂不是更清楚,免得为了给变量起英文名字头疼2023-06-10 22:25:472
c# 成员变量 什么时候释放
程序结束。c#成员变量这里面的内存块和程序的声明周期是一样的,也就是说程序结束的时候,这部分的内存才会得到释放。2023-06-10 22:26:021
C#.Net中,我想把一个变量加入到字符串中,怎么做?
string str="select * from A where B=@value" 用:SqlParameter2023-06-10 22:26:094
C#数据库连接怎么设置变量
根据你的描述://先申明变量string name;//Sql语句string sql="select * from table_name where coum_name=""+name+""";//类同string sql=format.toString("select * from table_name where coum_name="{0}"",name);//执行Sql语句sqlconnection con =new sqlconnection(连接数据库);sqlAdapter dapt=new SqlAdapter(sql,con);Dataset ds=new Dataset();dapt.fill(ds);return ds.table[0];2023-06-10 22:26:233
C#怎样定义一个int类型的int型变量
using IntAlias = System.Int32;IntAlias a;2023-06-10 22:26:394
C# 中怎么定义一个日期型变量
时间类型 DataTime2023-06-10 22:26:4713
C# 中如何判断变量是否被赋值
-,- 你编译都通不过..2023-06-10 22:27:3112
c#怎么重新声明变量?
为什么会有这种需求? 有点好奇, 为什么不从逻辑思路上改变一下.同个作用域编译通不过的2023-06-10 22:28:542
c#在不同的类中,如何使用相同的变量 在不同的类中,如何使用相同的变量
定义一个全局的变量就行了 public string x;2023-06-10 22:29:023
c# 中声明变量,并赋值
不好意思,我也不知道,只是为了完成任务才回答的,对不住了朋友。2023-06-10 22:29:094
怎样在C#中创建一个全局变量
创建一个公有类,然后用static去修饰公有变量即可。如:public class Myclass{ public static string MyStr = "我是全局变量";//....}那么这个Myclass.MyStr 就是全局变量, 可以从任意位置进行访问。2023-06-10 22:29:271
c# 如何显示变量的值
不知道你是想问啥,如果是显示给用户看的话,有很多诸如lable之类的控件;如果你是想调试程序的话,可以F11单步执行,或是设置断点执行。2023-06-10 22:29:374
C#中“变量”与“字段”有什么区别?
没区别。都是一段占用内存的数据而已。x0dx0a只是创建的地方不同而已,通常字段是在一个类中的一个属性,比如a.bx0dx0a而类是一个抽象的,而b也是抽象的,变量就不同了就是具体到一个实体。可以说变量是一个类的实体化,而字段是一个类的一个部分。x0dx0a大概就是人类和小明的关系。变量是小明,人类的性别被称为字段。2023-06-10 22:29:561
c#中变量与字段有什么区别
变量的范围更大一些。任何一个定义的对象都可以称为变量字段,指的是类成员变量。2023-06-10 22:30:105
c#中变量与字段有什么区别
同意一楼2023-06-10 22:30:268
c# 怎么用变量值作为变量名
楼主你想干什么?这个想法不现实。楼主可以想其他的实现方法2023-06-10 22:30:545
C# 变量和属性有什么区别?
变量的范围更大一些。任何一个定义的对象都可以称为变量字段,指的是类成员变量。2023-06-10 22:31:091
C# 如何定义多个变量共用一个值?
请问这样除了少敲几个字(还未必) 还有别的好处吗 可维护性反而降低2023-06-10 22:31:173
怎样在C#中声明一个类型为int,值为空的变量
平常的int类型是不允许为空的,但是C#支持在类型后面加?来定义以为可以为空的值类型,写法如下:int?a=null;//检查a是否为空if(a.HasValue){//这里a不为空intb=a.Value;}else{//这里a为空}2023-06-10 22:31:361
谁能详细讲一下c#中的变量,包括变量的继承问题
我们知道,当子类继承自父类时,为了保证父类成员变量的正确初始化,子类的任何构造器默认的都必须调用父类的某一构造器,具体调用哪个构造器要看构造器的初始化参数列表。如果没有初始化参数列表,那么子类的该构造器就调用父类的无参数构造器;如果有初始化参数列表,那么子类的该构造器就调用父类对应的参数构造器。而构造器的作用就在于负责类中成员变量(域)的初始化;同时类内的成员变量声明初始化被编译器转换成赋值语句强加在类的每一个构造器的内部。那么子类中初始化语句与调用父类构造器的语句的顺序是什么呢?为了得出结论,我们考虑如下代码(test.cs): 运行的结果你通过看代码可能就已经知道了:),而且你也可能已经猜测到了:子类初始化语句在父类构造器调用之前,最后执行的是本构造器内的语句。 http://www.cnblogs.com/huangyu/archive/2004/08/03/29722.aspx2023-06-10 22:31:431
c#变量赋值
原因是string有一个特点叫“唯一不变性”2023-06-10 22:31:524
C#类型变量赋值的问题
你定义了基类的变量mybase但也只是定义了而已内存中并有开辟相应的内存空间必须new或者把他指向其他空间才能正常使用~所以你没给他赋值或者没new是不能调用DoSomething()方法的~~不同的类一般情况下是不能相互赋值的~但是有几个特例,比如两个是继承关系子类实例可以给父类变量赋值~或者两个类的实例类型相同等情况~最后一个问题~父类对象不能调用子类的属性方法子类的对象可以调用父类的属性方法~如果你子类重写了父类的方法你得到的是子类的方法值但是你调用的仍然是父类的方法~只不过C#自己发现了重写后的值取了一下而已。。。补充一点你子类没有用override重写方法不可能得到Derivedimp2023-06-10 22:32:231
c#怎么把@用于变量
string str_v=@"c:windows";2023-06-10 22:32:302
C#中的“定义字符串变量”是什么意思。
stringtext="字符窜变量";publicintpub=0;//全局变量classtest{intinside=1;//局部变量}全局变量就是程序里面都可以访问的!局部变量就是在某一部分程序里可以用,其它地方用不了!2023-06-10 22:32:392
C# 中如何定义全局的宏变量(#define)
#define DEBUG2023-06-10 22:32:566
C#中在哪里声明全局变量啊,具体位置在哪儿,我是初学者。。。
在函数的结构体外就可以声明全局变量2023-06-10 22:33:185
c#必须声明变量
string sql = "select * from 水果(@price)"; 你这个写法就不对把,@price要在查询之前先申明才行啊,而且你这语句执行是什么意思 都不明确,是想查询水果价格然后添加到下拉列表中么?2023-06-10 22:33:403
c#如何定义全局变量list
1、List的基础、常用方法:声明: 1、List<T> mList = new List<T>(); T为列表中元素类型,现在以string类型作为例子E.g.:List<string> mList = new List<string>();2、List<T> testList =new List<T> (IEnumerable<T> collection);以一个集合作为参数创建ListE.g.:string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };List<string> testList = new List<string>(temArr);添加元素:1、 List. Add(T item) 添加一个元素E.g.:mList.Add("John");2、 List. AddRange(IEnumerable<T> collection) 添加一组元素E.g.:string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" };mList.AddRange(temArr);3、Insert(int index, T item); 在index位置添加一个元素E.g.:mList.Insert(1, "Hei");遍历List中元素:foreach (T element in mList) T的类型与mList声明时一样{Console.WriteLine(element);}E.g.:foreach (string s in mList){Console.WriteLine(s);}删除元素:1、 List. Remove(T item)删除一个值E.g.:mList.Remove("Hunter");2、 List. RemoveAt(int index); 删除下标为index的元素E.g.:mList.RemoveAt(0);3、 List. RemoveRange(int index, int count);从下标index开始,删除count个元素E.g.:mList.RemoveRange(3, 2);判断某个元素是否在该List中:List. Contains(T item) 返回true或false,很实用E.g.:if (mList.Contains("Hunter")){Console.WriteLine("There is Hunter in the list");}else{mList.Add("Hunter");Console.WriteLine("Add Hunter successfully.");}给List里面元素排序:List. Sort () 默认是元素第一个字母按升序E.g.:mList.Sort();给List里面元素顺序反转:List. Reverse () 可以与List. Sort ()配合使用,达到想要的效果E.g.:mList.Sort();List清空:List. Clear () E.g.: mList.Clear();获得List中元素数目:List. Count () 返回int值E.g.:int count = mList.Count();Console.WriteLine("The num of elements in the list: " +count);2、List的进阶、强大方法:举例用的List:string[] temArr = { Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", " "Locu" };mList.AddRange(temArr);List.Find 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素。 public T Find(Predicate<T> match);Predicate是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。当前 List 的元素被逐个传递给Predicate委托,并在 List 中向前移动,从第一个元素开始,到最后一个元素结束。当找到匹配项时处理即停止。Predicate 可以委托给一个函数或者一个拉姆达表达式:委托给拉姆达表达式:E.g.:string listFind = mList.Find(name => //name是变量,代表的是mList{ //中元素,自己设定if (name.Length > 3){return true;}return false;});Console.WriteLine(listFind); //输出是Hunter委托给一个函数:E.g.:string listFind1 = mList.Find(ListFind); //委托给ListFind函数Console.WriteLine(listFind); //输出是HunterListFind函数: public bool ListFind(string name){if (name.Length > 3){return true;}return false;}这两种方法的结果是一样的。List.FindLast 方法:搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的最后一个匹配元素。 public T FindLast(Predicate<T> match);用法与List.Find相同。List.TrueForAll方法: 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。public bool TrueForAll(Predicate<T> match);委托给拉姆达表达式:E.g.:bool flag = mList.TrueForAll(name =>{if (name.Length > 3){return true;}else{return false;}});Console.WriteLine("True for all: "+flag); //flag值为false委托给一个函数,这里用到上面的ListFind函数:E.g.:bool flag = mList.TrueForAll(ListFind); //委托给ListFind函数Console.WriteLine("True for all: "+flag); //flag值为false这两种方法的结果是一样的。List.FindAll方法:检索与指定谓词所定义的条件相匹配的所有元素。public List<T> FindAll(Predicate<T> match);E.g.:List<string> subList = mList.FindAll(ListFind); //委托给ListFind函数foreach (string s in subList){Console.WriteLine("element in subList: "+s);}这时subList存储的就是所有长度大于3的元素List.Take(n): 获得前n行 返回值为IEnumetable<T>,T的类型与List<T>的类型一样E.g.:IEnumerable<string> takeList= mList.Take(5);foreach (string s in takeList){Console.WriteLine("element in takeList: " + s);}这时takeList存放的元素就是mList中的前5个List.Where方法:检索与指定谓词所定义的条件相匹配的所有元素。跟List.FindAll方法类似。E.g.:IEnumerable<string> whereList = mList.Where(name =>{if (name.Length > 3){return true;}else{return false;}});foreach (string s in subList){Console.WriteLine("element in subList: "+s);}这时subList存储的就是所有长度大于3的元素List.RemoveAll方法:移除与指定的谓词所定义的条件相匹配的所有元素。public int RemoveAll(Predicate<T> match);E.g.:mList.RemoveAll(name =>{if (name.Length > 3){return true;}else{return false;}});foreach (string s in mList){Console.WriteLine("element in mList: " + s);}这时mList存储的就是移除长度大于3之后的元素。List<T> 是一个泛型链表...T表示节点元素类型比如List<int> intList;表示一个元素为int的链表intList.Add(34); //添加intList.Remove(34);//删除intList.RemoveAt(0); //删除位于某处的元素intList.Count; //链表长度还有Insert,Find,FindAll,Contains等方法,也有索引方法 intList[0] = 23;1.减少了装箱拆箱2.便于编译时检查数据类型List<Object> 就相当于 System.Collections命名空间里面的List2023-06-10 22:33:472
C#中变量大小写有关系吗
有,要区分大小写。大小写不一样,变量就不一样比如inta=0;intA=0;这两个是不同的变量,和VB不一样。2023-06-10 22:33:541
C#中变量作为文件名
如果p[0]与p[1]为字符串变量,则:string path1="D:\新建文件夹\";string filename=p[0]+"-"+p[10];string path2=path1+filename;File.Save(path2);如果为其他变量,则将第二句改为:string filename=Convert.ToString(p[0])+Convert.ToString(p[1]);2023-06-10 22:34:242
C#中的变量如何传给SQL
新手问题C#中的变量如何传给SQL,比如SqlCommand myCommand = new SqlCommand("select zkzh,school,name,n1,fzf from yw01 where substring(zkzh,5,3)="001""我想将"001"换成一个变量fkd,应该用什么方法,是不是在变量前加什么字符?1.string fzf = "001";SqlCommand myCommand= new SqlCommand("select zkzh,school,name,n1,fzf from yw01 where substring(zkzh,5,3)=@fzf";cmd.Parameters.Add("@fzf",fzf);2.如:String str="select zkzh,school,name,n1,fzf from yw01 where aaa=""+aaa+""";//字符串型变量String str="select zkzh,school,name,n1,fzf from yw01 where aaa="+aaa;//int型变量如果使用存储过程也可以构建参数传递,如:SqlParameter[] paras = { new SqlParameter("@RolesName", SqlDbType.VarChar, 50), new SqlParameter("@RolesDescription", SqlDbType.VarChar, 100), new SqlParameter("@CreateDate", SqlDbType.DateTime, 8) };paras[0].Value = roles.RolesName;paras[1].Value = roles.RolesDescription;paras[2].Value = roles.CreateDate;2023-06-10 22:34:331
在c#中的windows应用程序中,怎样定义变量?在哪个位置?
Random r = new Random();int rNum = r.Next();你写在一个方法里、也可以写在方法外的。写在方法里,就是局部变量,只能在这个方法里使用。写在方法外,就是全剧变量,整个类都可以使用的。2023-06-10 22:34:402
C#关于变量地址
呵呵,初级状态,回答不了你的问题,我只知道,数组是引用类型,他的变量地址应该是在堆栈中存放,关注中,帮你顶2023-06-10 22:34:559
求助 C# 中如何在变量名中含有某个变量的值,在线等......
用arraylist2023-06-10 22:35:104
如何在C#中声明应用程序集变量
不存在程序集变量概念,但可以申请一个全局变量,随便在哪个类里定义public class ABC{public static int count=0;}在程序集任何地方都可以 ABC.COUNT就可以访问这个变量2023-06-10 22:35:191
C#两窗体之间如何传递变量?
2023-06-10 22:37:451
C#中一个变量后加一个?是什么意思
在C#中 int ? 带表的是可空类型2023-06-10 22:37:525
C#如何获取一个变量类型,求教大神
这个问题,其实还比较复杂的,一言两语还不怎么能够说的清楚呢,我给你简单说个思路吧1、画两个窗体,一个是Form1输入窗体的界面;另一是Form2显示数据的界面2、在第一窗体中填入数据,按确定的时候调用f2=newForm2(.....)传递第一个窗体的数据到Form23、在Form2窗体中处理刚刚传过来的数据,显示在datagridview上4、在Form2窗体中确定的按钮中写入插入数据库的代码这样你不点即插入的话就不会插入到数据库中的2023-06-10 22:38:051
在编程C#中如何变量防止溢出?
有计划的使用变量是一个方面另外就是传统的在可能溢出的地方使用try-catch语句控制溢出错误2023-06-10 22:38:242
C#中定义变量必须以什么开头
字母或 _ 吧2023-06-10 22:38:474
C#如何把一个变量的值转换成变量名称
button.Name = "btn_"+1;2023-06-10 22:38:552
c# 关于静态函数中的变量?
因为getNum方法是静态的呀,不然你去掉static就可以2023-06-10 22:39:023