2个回答
展开全部
变量是编程语言中最小的逻辑单位,变量在程序中的作用是为了存储在用户使用应用程序时产生的临时数据,这些数据是暂时存放在内存中。定义一个变 量需要告诉内存是什么数据类型的变量,就好像在生活中,一个杯子(数据类型)名字叫做牛奶杯(变量的名字)装的是(=)液体牛奶(临时数据)。
变量的标识符
在C#中,标识符是用来声明变量、函数及其他各种用户定义的对象名。标识符的长度可长可短,可以使用一个字符,也可以由若干个字符组成。C#中标识符只能由大写字母、小写字母、下划线(_)、数字(0-9)和@字符组成。而且必须以大写字母、小写字母或下划线开头,不能以数字开头,同时标识符中间不能包含空格。例如:a;hello;Color;_Color;this_is_valid等都是合法的标识符形式;1test;Color.test;this is;$test;if;hello world等字符串则不能用作标识符。
标识符大小写敏感,比如变量名name和Name代表两个不同的变量。尽管如此,我们仍不建议仅利用大小写不同来代表两个不同的标识符,大多数情况下,标识符应该是望名知义。
@字符只可以用在标识符的第一个字符,带@前缀的标识符称为逐字标识符,这在与其他的编程语言建立接口时很有用,字符@并不是标识符的实际组成部分,因此在其他语言中可能将此标识符视为不带前缀的正常标识符。允许将@前缀于关键字用于标识符,如@class, @bool等。但是不到万不得已,不强烈建议这样做。下面我们来看一个示例: using System;
namespace Microsoft.Example
{
public class TestKeyword
{
static void Main()
{
@class.@static(true); //调用使用关键字定义的方法
}
class @class //使用关键字class定义一个类
{
public static void @static(bool @bool) //使用关键字static定义一个方法
{
if (@bool) //使用关键字bool定义一个变量
{
System.Console.WriteLine("结果为true"); //输出结果
}
else
{
System.Console.WriteLine("结果为false"); //输出结果
}
}
}
}
}
上述代码中,@虽然出现在C#标识符中,但不作为C#标识符本身的一部分。因此,以上示例,定义了一个名为class的类,并包含一个名为static的方法,以及一个参数名为了bool的形参。这样,对于跨语言的移植带来了便利。因为,某个单词在C#中作为保留关键字,但是在其他语言中也许不是。 class Program
{
public static void Test(string @str)
{
System.Console.WriteLine(str);
}
}
当然@也可以加在非关键字之前,这样@str就一点效果也没有,@str等价于str,一般不鼓励使用。
在.net Framework中提供了一个专门用来产生随机数的类System.Random。
我们可以使用两种方式初始化一个随机数发生器:
第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:
Random ro = new Random();
第二种方法可以指定一个int型参数作为随机种子:
int iSeed=10;
Random ro = new Random(10);
long tick = DateTime.Now.Ticks;
Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));
这样可以保证99%不是一样。
之后,我们就可以使用这个Random类的对象来产生随机数,这时候要用到Random.Next()方法。这个方法使用相当灵活,你甚至可以指定产生的随机数的上下限。
变量的标识符
在C#中,标识符是用来声明变量、函数及其他各种用户定义的对象名。标识符的长度可长可短,可以使用一个字符,也可以由若干个字符组成。C#中标识符只能由大写字母、小写字母、下划线(_)、数字(0-9)和@字符组成。而且必须以大写字母、小写字母或下划线开头,不能以数字开头,同时标识符中间不能包含空格。例如:a;hello;Color;_Color;this_is_valid等都是合法的标识符形式;1test;Color.test;this is;$test;if;hello world等字符串则不能用作标识符。
标识符大小写敏感,比如变量名name和Name代表两个不同的变量。尽管如此,我们仍不建议仅利用大小写不同来代表两个不同的标识符,大多数情况下,标识符应该是望名知义。
@字符只可以用在标识符的第一个字符,带@前缀的标识符称为逐字标识符,这在与其他的编程语言建立接口时很有用,字符@并不是标识符的实际组成部分,因此在其他语言中可能将此标识符视为不带前缀的正常标识符。允许将@前缀于关键字用于标识符,如@class, @bool等。但是不到万不得已,不强烈建议这样做。下面我们来看一个示例: using System;
namespace Microsoft.Example
{
public class TestKeyword
{
static void Main()
{
@class.@static(true); //调用使用关键字定义的方法
}
class @class //使用关键字class定义一个类
{
public static void @static(bool @bool) //使用关键字static定义一个方法
{
if (@bool) //使用关键字bool定义一个变量
{
System.Console.WriteLine("结果为true"); //输出结果
}
else
{
System.Console.WriteLine("结果为false"); //输出结果
}
}
}
}
}
上述代码中,@虽然出现在C#标识符中,但不作为C#标识符本身的一部分。因此,以上示例,定义了一个名为class的类,并包含一个名为static的方法,以及一个参数名为了bool的形参。这样,对于跨语言的移植带来了便利。因为,某个单词在C#中作为保留关键字,但是在其他语言中也许不是。 class Program
{
public static void Test(string @str)
{
System.Console.WriteLine(str);
}
}
当然@也可以加在非关键字之前,这样@str就一点效果也没有,@str等价于str,一般不鼓励使用。
在.net Framework中提供了一个专门用来产生随机数的类System.Random。
我们可以使用两种方式初始化一个随机数发生器:
第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:
Random ro = new Random();
第二种方法可以指定一个int型参数作为随机种子:
int iSeed=10;
Random ro = new Random(10);
long tick = DateTime.Now.Ticks;
Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));
这样可以保证99%不是一样。
之后,我们就可以使用这个Random类的对象来产生随机数,这时候要用到Random.Next()方法。这个方法使用相当灵活,你甚至可以指定产生的随机数的上下限。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询