Tag: primitive types

安全地自动从双精度投射到十进制:以下是否安全?

在C#中以下列方式从double转换为十进制是安全的: int downtimeMinutes = 90; TimeSpan duration = TimeSpan.FromHours(2d); decimal calculatedDowntimePercent = duration.TotalMinutes > 0? (downtimeMinutes / (decimal)duration.TotalMinutes) * 100.0m : 0.0m; 如果答案是肯定的,那么不要大惊小怪,我只会标记为已接受。

使用无符号基元类型

大多数时候我们代表永远不会少于0的概念。例如,为了声明长度,我们写: int length; 该名称很好地表达了它的目的,但您可以为其指定负值。 似乎在某些情况下,您可以通过这种方式更清楚地表达您的意图: uint length; 我能想到的一些缺点: unsigned types(uint,ulong,ushort)不符合CLS,因此您不能将其与其他不支持此语言的语言一起使用 .Net类大多数时候都使用签名类型,因此你必须进行强制转换 思考?

C#原始类型或复杂类型作为方法签名?

使用Primitve类型或复杂类型有哪些优缺点? 什么时候应该使用复杂类型的原始类型,反之亦然? 即: public class Person { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public int IQ { get; set; } } public void FooPrimitiveTypes (string firstName, string lastName, int age, int IQ) { } public void FooComplexTypes(Person person) { }

为什么字符串和对象的别名是小写的?

下面是C#中的别名列表(C#中字符串和字符串的区别是什么? ): object: System.Object string: System.String bool: System.Boolean byte: System.Byte sbyte: System.SByte short: System.Int16 ushort: System.UInt16 int: System.Int32 uint: System.UInt32 long: System.Int64 ulong: System.UInt64 float: System.Single double: System.Double decimal: System.Decimal char: System.Char 我可以通过char看到bool是小写别名,因为它们是原始类型。 为什么对象和字符串没有大写,因为它们是复杂的类型? 这是开发人员的疏忽,还是他们必须小写的必要原因? 或者这是一个自以为是的问题? 你最终得到了像string.Format()而不是String.Format() ,它看起来很时髦,让我觉得string是一个变量。

原始类型枚举 – 它是否存在

我需要向用户提供所有可用原始类型的列表,并且想知道.net库中是否存在具有所有原始类型的Enum,因此我不必构建一个。

为什么C#中的原始类型有自己的操作?

几天前,我决定开始学习C#。 所以,我得到了一本书,开始阅读和练习代码。 当我看到C#中的string被认为是原始类型时,我感到很惊讶。 但是当我看到该string以及C#中的所有其他原始类型都有操作时,我更感到惊讶。 我是一名Java开发人员,我的理解是原始数据类型没有操作,只有类有。 但在C#中,以下内容有效: string name = “alex”; Console.WriteLine(name.ToUpper()); 这怎么可能? 他们真的是原始人吗? 我在这里想念的是什么?

为什么字符串是引用类型?

为什么string是引用类型,即使它通常是原始数据类型,如int,float或double。