100分求C#的基础问题解答

来源:百度知道 编辑:UC知道 时间:2024/05/11 00:40:09
我是一名初学者,刚涉及C#没多久.在自学当中,我碰到许多问题.朋友你能帮我解答下吗?非常感谢!!非常感谢至极.首先声明,关于这些问题,我都是有过长时间去找答案,但是都无功而返,绝不是碰到什么问题就连查资料也不查的问你们。还有一点,如果我问的问题过于笨了,请你们不要见怪,有可能是书上没解释清楚,也可能我过于愚蠢的原因。总之,我是抱这一颗求知的心。谢谢~~

关于单精度浮点与双精度浮点:在单精度后加E,双精度加F.请问他们的取值范围是如何算的?什么1.5*10^-45……1.5*10^38,哪位朋友能言简意骇的说明下?

还有一点,网上查资料如下:

IEEE单精度格式具有24位有效数字,并总共占用32 位。IEEE双精度格式具有53位有效数字精度,并总共占用64位。

说明:基本浮点格式是固定格式,相对应的十进制有效数字分别为7位和17位

也就是说,1.123456和1.123456E是一样的意思?
1.12E3,代表的是什么意思?1.12E是单精度?而3可能是双精度或单精度?
如果变成1.1234567还是单精度范围?而1.12345678则为双精度了??

关于类型转换的隐式转换,我的理解是,当A类型转换为B类型,A的值必须在B类型值范围之内.对吗??

关于显式转换:

请问,在C#的显式转换中.
A=(byte)B;

A=convert.ToByte(B);
有什么区别吗?能告诉我,什么情况下用第一种表达式好,什么情况用第二种的CONVERT.?还是说,可以随意?

而在其中,用checked和unchecked,表达式溢出时的关键字,
在C#入门经典中文版第3版的例子中,使用checked会导致崩溃??为什么?
如改成unchecked却和没有改一样.我对此非常不解,书中也没有过多解释.让我看的云里雾里的。请问这两个关键字该做何理解?

关于枚举和结构:

说实在,这一章似乎到了难点上了,我几乎不懂枚举。枚举的作用是什么?

enum

你好,关于你的问题,我就我知道的尽量回答。

1.123456是一个普通的浮点数,你所看到的就是它的值。
如果不显示指明它是一个单精度浮点型(1.123456f)还是双精度浮点型(1.123456d),那么它默认的就是双精度浮点型。

1.123456E是一个用科学计数法表示的浮点数,比如:1.123456E2表示该数为1.123456*10^2,科学计数法显示的整数部分总是只有一位,不会出现如0.1123456E3或11.23456E的表示。

隐式转换只能将表示范围小的值转换为表示范围大的值,否则会损失精度。

A=(byte)B:强制转换
A=convert.ToByte(B):调用方法转换,只能用ToByte方法的参数中定义的类型进行转换。

枚举:通俗的说就是定义一组常量,枚举的访问修饰符必须是公有的。它的访问方式为:枚举名.枚举成员,可以在定义枚举时为每个枚举成员赋值,如果不赋初始值,则从0开始依次递增。
enum numbers
{
one=1,
tow=2
}
调用:System.Console.WriteLine(numbers.one.ToString());
打印结果应为:one;
调用:System.Console.WriteLine((int)numbers.one);
打印结果应为:1;

结构:和类比较相似,它们最大的不同点为:结构属于值类型,而类属于引用类型,显然值类型的执行速度会比引用类型的执行速度快。
结构中同样可以定义方法和字段,但字段不能赋初始值。
它没有默认的构造函数,定义它的构造函数都必须是带有参数的。
如同抽象类一样,它是不能被继承的。
结构和类都是用new关键字来获取它的对象。
结构通常是用来创建一些小对象,一般不会用它像类一样来处理复杂的业务逻辑。

如果你是初学者,钻牛角尖到这个程度也够厉害了,建议你去bbs.csdn.net去问,那的高手成批成批的

兄弟。我是个程序员。
我感觉你有点象孔已己了