Roslyn笔记

.Net Core项目中引用 Console 类出现错误:CS0103

原因是因为在.Net Core中, Console 类放在了 System.Console.dll 中,一般教程是从object类的元数据(即System.dll)中调用的:

MetadataReference[] references = new MetadataReference[]
{
MetadataReference.CreateFromFile(typeof(object).Assembly.Location),
}

获得当前AppDomain所有引用的Assembly组件的方法:

 var assemblies = AppDomain.CurrentDomain.GetAssemblies()
  .Where(asm => !asm.IsDynamic && string.IsNullOrWhiteSpace(asm.Location))
  .Select(asm => MetadataReference.CreateFromFile(asm.Location))
  .Cast<MetadataReference>()
  .ToArray();
阅读更多

关于“三门”问题的概率

最新编辑2:

又有网友提出,造成这个结果是因为 随机数Random.Next的方法永远拿不到上限值,也就是说 r.Next(0,2) 永远拿不到2。去source上查了一下确实如此,微软这个方法有点坑。

PS:特别感谢 御坂14491 号的提出,以及MatPopLeaSpo、言心亡、日后再说好不好、最萌的伊卡洛斯等朋友的在线对狙。

最后,公布最新的源码和跑的结果,先看结果:

改变选择有66465此中奖,不改变选择有33535此中奖,总数100000,
主持人选对了次数0
阅读更多