clr相关内容
for (int i = 0; i 根据我对范围的理解,第一个示例应该没问题.他们都不被允许的事实似乎更加奇怪.当然,“我"要么在范围内,要么不在范围内. 我不明白范围是否有一些不明显的地方,这意味着编译器真的无法解决这个问题?或者只是保姆国家编译主义的一个例子? 解决方案 根据我对范围的理解,第一个示例应该没问题. 您对范围的理解很好.这不是范围界定错误.这是简单名称
..
有谁知道是否可以在 .NET 中定义等效的“java 自定义类加载器"? 提供一点背景: 我正在开发一种以 CLR 为目标的新编程语言,称为“Liberty".该语言的特点之一是它能够定义“类型构造函数",这是由编译器在编译时执行并生成类型作为输出的方法.它们是泛型的一种概括(该语言中确实有普通的泛型),并允许编写这样的代码(以“Liberty"语法): var t as tuple
..
在我的计算机上,我安装了 .NET Framework 2.0,然后安装了 .NET Fratmeworkt 3.0.但是最近我从一个程序中得到一个异常,说“事件 1000,.NET 运行时 2.0 错误报告".我想知道,为什么这个程序仍然使用 .NET Runtime 2.0 而不是新版本.如何检查特定程序使用的 .NET Runtime 版本?可以改吗? 解决方案 “.NET 运行时"
..
.NET TimeZoneInfo 类很棒,我认为它可以解决我在 SQL 2005 数据库中记录来自多个时区的数据的所有问题. 要将数据库中的 UTC 日期时间转换为任何其他时区,我只需使用 TimeZoneInfo.FindSystemTimeZoneById() 将时区转换为 TimeZoneInfo 类,然后调用 TimeZoneInfo.ConvertTimeFromUtc().杰出
..
虽然我知道这些术语,但有时我会忘记它们之间的差异...所以只是为了保留一个参考位置...谢谢大家的回答. 解决方案 ASP,Active Server Pages(现称为to as ASP Classic) 是早于 .Net 的服务器端脚本环境,与它无关 ASP 页面通常使用 VBScript 编写,但也可以使用 Windows Scripting Host 支持的任何语言编写 -
..
据我所知,在 C# 中,ref 和 out 参数是通过仅传递相关值的原始地址来传递的.该地址可能是指向数组中的元素或对象中的字段的内部指针. 如果发生垃圾回收,可能仅引用某个对象是通过这些内部指针之一,如: 使用系统;公共课 Foo{公共 int 字段;公共静态无效增量(参考 int x){System.GC.Collect();x = x + 1;Console.WriteLine(x)
..
我目前正在开发一个网站,该网站大量使用缓存数据来避免往返.在启动时,我们得到一个“大"图(数百个不同种类的对象).这些对象通过 WCF 检索并反序列化(我们使用协议缓冲区进行序列化)我正在使用 redgate 的内存分析器来调试内存问题(内存似乎不适合我们“在"完成初始化并最终得到此报告后需要多少内存 现在我们可以从这份报告中收集到的是: 1) .NET 分配的大部分内存都是免费的(它
..
.NET 垃圾收集器收集对象(回收它们的内存)并执行内存压缩(将内存碎片保持在最低限度). 我想知道,由于应用程序可能对对象有很多引用,当对象的地址由于 GC 进行压缩而发生变化时,GC(或 CLR)如何管理对对象的这些引用. 解决方案 这个概念很简单,垃圾收集器简单地更新任何对象引用并将它们重新指向移动的对象. 实现有点棘手,本机代码和托管代码之间没有真正的区别,它们都是机器
..
我需要存储一个语言代码字符串,例如“en",它总是包含 2 个字符. 将类型定义为“String"还是“Char"更好? 私有字符串语言代码; 对 private char[] 语言代码; 或者还有其他更好的选择吗? 这 2 个如何存储在内存中?分配值时将分配多少字节或位? 解决方案 它们是如何存储的 string 和 char[] 都存储在堆上 - 所以存储是相
..
垃圾回收的根源是什么? 我已将 root 的定义读为“您的程序可以访问的任何引用",而 live 的定义是正在使用的对象,可以是局部变量、静态变量. 我对区分根对象和活动对象之间的区别有点困惑. 什么是根路径?根对象和活动对象如何工作? 有人可以详细说明吗? 解决方案 如果您将内存中的对象视为一棵树,“根"将是根节点 - 您的程序可以立即访问的每个对象. Pers
..
我已阅读有关世代和大型对象堆的信息.但是我仍然不明白拥有大型对象堆的意义(或好处)是什么? 如果 CLR 仅仅依赖第 2 代(考虑到 Gen0 和 Gen1 的阈值对于处理大对象来说很小)来存储大对象,会出现什么问题(在性能或内存方面)? 解决方案 垃圾回收不只是摆脱未引用的对象,它还压缩堆.这是一个非常重要的优化.它不仅使内存使用效率更高(没有未使用的漏洞),而且使 CPU 缓存更
..
我的 .NET Framework 3.0 SP1 应用程序出现问题.它是一个与 COM exe 通信的 C# winforms 应用程序.winforms 应用程序或 COM exe 随机崩溃而没有任何错误消息,并且事件日志包含以下条目: [1958] .NET 运行时类型:错误电脑:CWP-OSL029-01时间:2008 年 11 月 25 日下午 3:14:10 ID:1023.NE
..
我有一个存储微秒级时间戳的仪器,我需要存储这些时间戳作为从仪器收集信息的一部分.请注意,我确实不需要生成时间戳;这些时间戳由仪器本身使用高分辨率实时操作系统预先生成.解析这些值不是问题——它们使用标准格式存储在 UTC 时间.最初我想使用 C# DateTime 结构 只能存储毫秒分辨率的时间戳. .NET 或支持微秒和(理想情况下)纳秒分辨率时间戳的通用 C# 库是否提供了另一个对象,还是
..
我刚刚开始我的第一个 C++ 项目.我正在使用 Visual Studio 2008.它是一个单一形式的 Windows 应用程序,它访问几个数据库并启动一个 WebSphere MQ 事务.我基本上了解 ATL、MFC、Win32(我实际上对那个有点模糊)和 CLR 之间的区别,但我不知道应该如何选择. 其中一个或多个只是为了向后兼容吗? CLR 是个坏主意吗? 任何建议表示赞
..
我有一个 Windows 应用程序计划每天运行,但根据 EventViewer 中的以下日志间歇性地失败. 错误应用程序名称:MyApplication.exe,版本:1.0.0.0,时间戳:0x4d54829a错误模块名称:clr.dll,版本:4.0.30319.1,时间戳:0x4ba21eeb异常代码:0xc0000005故障偏移量:0x00000000000029e1错误进程ID:0xb
..
我正在处理的项目中遇到新的链接器错误: 1>MSVCMRTD.lib(locale0_implib.obj) : 错误 LNK2022: 元数据操作失败 (8013118D) : 重复类型中的布局信息不一致 (std.basic_string,std::allocator>): (0x0200004e).1>MSVCMRTD.lib(locale0_implib.obj):错误 LN
..
我正在尝试实现一个返回迭代器的异步函数.思路如下: 私有异步任务>测试异步(字符串测试字符串){foreach(testString.ToCharArray() 中的字符 c){//做其他工作收益回报 c;}} 但是,由于 Task> 不是迭代器接口类型,因此有错误消息指出该函数不能是迭代器块.有解决办法吗? 解决方案 听起来你可能真正想要的是 I
..
.NET 3.5 解决方案在使用 msbuild 编译时出现此警告. 有时 NDepend 可能会有所帮助,但在这种情况下,它没有提供任何进一步的细节.像 Bob 我最终不得不求助于打开每个程序集ILDASM 直到我找到引用旧版本依赖程序集的那个. 我确实尝试使用 VS 2010 Beta 2 中的 MSBUILD(因为 Connect 文章指出这已在 CLR 的下一版本中修复),但也
..
我正在尝试解读与 clr20r3 关联的 P1...P10 参数的含义,该参数在我的应用程序遇到异常时写入事件日志. 我能够找到的最好的 是: P1:宿主进程(例如 w3wp.exe) P2:宿主进程版本(例如 6.0.3790.1830) P3:???(例如 42435be1) P4:引发异常的程序集(例如 mrtables.webservice) P5:汇编版本(例如 2.
..
是否有可用的不同.Net 语言的流行度细分?有没有人知道提供这些信息的任何调查,或者是否有可能确定这一点? 更新 答案是不是不同 .Net 语言的列表.我希望看到显示每种 .Net 语言的相对使用/流行度的统计数据.谢谢. 解决方案 如果你认为 Stackoverflow 是平等和公平的,那么就看看 标签 页面. C# - 截至 09 年 8 月 21 日上午 9:30
..