Tag: 类型

generics类型的C#声明

是否有可能得到一个reflection获得的类型的“c#名称”,如: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 我想得到: List 没有拆分字符串有可能吗? 例如,使用Reflection。 谢谢!

什么时候使用int与Int32,或字符串与String?

在C#中, 内置类型的关键字只是System命名空间中相应类型的别名。 通常,使用关键字(例如int )或标识符(例如Int32 )来引用内置类型没有区别。 但是所有内容都有例外,所以我的问题分为两部分: C#何时要求您使用或不使用关键字? 何时使用关键字而不是标识符会改变程序的含义?

c#键入别名/自定义类型

我试图将一些Delphi代码转换为c#,我遇到了一个问题…… 在Delphi中,我已经推出了一种新类型 Type TData = Array of Extended 在哪里我可以访问返回此类型的函数的结果与语句,如 Function TMyObject.ReadData:TData; begin … end; Data := MyObject.ReadData; Result = Data[7] + Data[12] 现在,如果我最初将其声明为Array of Single那么我可以改变这一行来改变精度。 (我可能不久要将它降低到Double以便任何结果与c#版本完全匹配。 所以问题是我可以在c#中做类似的事吗? 就像是 class Data : Double[] 虽然不完全像这样,因为它不编译,或者我会这样做 class DataEntry : Double … public DataEntry[] Read { … }

C#:限制方法参数中的类型(不是通用参数)

我想编写如下函数 public void Foo(System.Type t where t : MyClass) { … } 换句话说,参数类型是System.Type ,我想将允许的Type限制为从MyClass派生的Type 。 有没有办法在语法上指定这个,或者必须在运行时检查?

Object.GetType()是否可以返回null?

只是好奇。 是否有任何时候调用。对象上的.GetType()将返回null? 假设用法: public Type MyMethod( object myObject ) { return myObject.GetType(); }

如何确定.NET Type是否是自定义结构?

如何编写一个简单的方法,检查具体类型是否是自定义结构(使用public struct { };创建)。 检查Type.IsValueType是不够的,因为它也适用于int , long等,并添加一个检查!IsPrimitiveType不会排除decimal , DateTime和其他一些值类型。 我知道大多数内置值类型实际上是“结构”,但我只想检查“自定义结构” 这些问题大致相同但没有我需要的答案: #1 #2 #3 编辑:从提到的答案“检查’系统’前缀”是最稳定的(虽然它仍然是一个黑客)。 我最终决定创建一个必须用它来装饰结构的属性,以便框架将其作为自定义结构来选择。 (我想的另一个选择是创建一个空接口,让struct实现那个空接口,但属性方式似乎更优雅) 这是我原来的自定义结构检查器,如果有人感兴趣: type.IsValueType && !type.IsPrimitive && !type.Namespace.StartsWith(“System”) && !type.IsEnum

在Float中,为什么?

long b = 99; float c = 99.0F; //b = c; //Error : Cannot implicitly convert type ‘float’ to ‘long’. c = b; // Running Successfully. Why? 为什么数据类型的大小和隐式转换没有问题? 我们知道float和long的大小不同,下面给出了…… Console.WriteLine(“Long : ” + sizeof(long)); // Output –> Long : 8 Console.WriteLine(“Float : ” + sizeof(float));// Output –> Float: 4

在short,int,long之间区分真的很重要吗?

在我的C#应用​​程序中,我想知道对较小的数字使用short是否真的很重要,对于较大的数字使用int是否真的很重要。内存消耗真的很重要吗?

将double转换为float而不使用Infinity

我使用旧的float myFloat = (float)myDouble将double转换为float。 然而,这有时会导致“无限”,这对我正在进行的进一步处理不利。 只要它指向一般方向作为原始数字(我要转换的所有数字的相对数量’强度’必须保持),我对损失没问题。 如何将float转换为double并避免Infinity? 背景: 我正在从wav / mic读取字节流,将其转换为float ,将其转换为double ,通过FFT计算运行(这需要double ),现在我想让它恢复float (将数据存储在32位中)图像容器)。

为什么IEEE754单精度浮点数只有7位精度?

为什么单精度浮点数具有7位精度(或15-16位精度)? 任何人都可以根据为浮点数分配的32位(Sign(32)Exponent(30-23),Fraction(22-0))解释我们是如何到达的吗?