小编Rob*_*vey的帖子

为什么C#System.Decimal会记住尾随零?

有没有理由C#System.Decimal记得它输入的尾随零的数量?请参阅以下示例:

public void DoSomething()
{
    decimal dec1 = 0.5M;
    decimal dec2 = 0.50M;
    Console.WriteLine(dec1);            //Output: 0.5
    Console.WriteLine(dec2);            //Output: 0.50
    Console.WriteLine(dec1 == dec2);    //Output: True
}
Run Code Online (Sandbox Code Playgroud)

小数被归类为相等,但是dec2会记住它是以额外的零输入的.这是什么原因/目的?

c# precision decimal

18
推荐指数
1
解决办法
1566
查看次数

为什么ISerializationSurrogate.SetObject返回一个对象以及一个对象填充?

我最近在看运行时序列化并遇到了ISerializationSurrogate界面.SetObject然而,我对它的方法感到困惑.

签名是:

object SetObjectData(object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context, System.Runtime.Serialization.ISurrogateSelector selector)

和帮助信息是:

摘要:

使用System.Runtime.Serialization.SerializationInfo中的信息填充对象.

参数:

obj:要填充的对象.

info:填充对象的信息.

context:反序列化对象的源.

selector:代理选择器,其中搜索兼容的代理开始.

返回:

填充的反序列化对象.

如果obj是要填充的对象,为什么会返回The populated deserialized object?在MSDN的一个例子中,他们填充objreturn null.

c# serialization runtime

6
推荐指数
1
解决办法
1434
查看次数

随机()会不会改变?

我一直在研究一个需要使用伪随机数生成的开发问题,以允许为给定的种子生成相同的随机数集.我目前一直在寻找使用long random(void)void srandom(unsigned seed)为此(手册页),目前这些是在Mac应用程序,iOS应用程序和iOS应用程序(64位)中生成相同的随机数集,这是我所希望的.iOS测试只在模拟器中进行,所以我不知道这是否会影响结果.

我主要担心的是,这个算法可能会在某些时候发生变化,使我们正在开发的应用程序对旧数据有效无用.这些算法在未来设备上改变/不同的可能性有多大?

random macos objective-c ios

5
推荐指数
1
解决办法
154
查看次数

标签 统计

c# ×2

decimal ×1

ios ×1

macos ×1

objective-c ×1

precision ×1

random ×1

runtime ×1

serialization ×1