Tag: C#的

.net将小数点格式化为两个地方或一个整数

10我要10而不是10.00 10.11我要10.11 这可能没有代码? 即通过指定格式string单独模拟到{0:N2} 谢谢!

在Visual Studio IDE中自动生成XSD到C#

我正在运行Visual Studio 2010.我有一个XSD架构,并希望使用xsd.exe工具来生成适当的C#文件。 我已经从一个命令行成功完成了,但现在我想从IDE做同样的事情。 有没有一些这个知名的路线? 我设法使用预生成事件,但我讨厌在每个版本上运行该工具。 通常,它只能在XSD更改时运行。 将生成的.cs文件添加到项目中会将其放在同名的.xsd下,以便IDE知道它们是相关的。 我知道我可以在我的.xsd上设置“自定义工具”,但是我不确定这是否达到了预期的效果。 我希望有一个更直接的方法。 最终,VS2010无法执行XSD.EXE,因为它存在于SDK文件夹中,而VS已知的path显然不包含它。 任何build议,欢迎!

C中的hex浮点常量

0x0.3p10代表什么值? 在上面的陈述中p是什么意思?

错误反序列化Xml到对象 – xmlns =''不是预期的

我在尝试反序列化一些XML时遇到了麻烦,希望有人能提供一些帮助。 我读了很多类似的post,但我无法解决这个问题。 XML我正试图反序列化 <register-account success="false"> <user-name>xxxxx</user-name> <password>fghgh</password> <email>test@example.com</email> <error> <errorcode>120</errorcode> <errormessage>The password is invalid</errormessage> </error> </register-account> 我正试图反序列化为: [Serializable, XmlRoot(ElementName = "register-account", Namespace = "MyNamespace")] [XmlType("register-account")] public class RegisterAccountResponse { [XmlAttribute("success")] public bool Success { get; set; } /// <summary> /// Gets or sets the Tennant email address /// </summary> [XmlElement("email")] public string Email { get; […]

Resharper:可能的IEnumerable的多个枚举

我正在使用新的Resharper版本6.在我的代码中的几个地方,它已经强调了一些文本,并警告我可能会有一个可能的IEnumerable多个枚举 。 我理解这意味着什么,并在适当的时候采纳了build议,但在某些情况下,我不确定这实际上是一个大问题。 像下面的代码一样: var properties = Context.ObjectStateManager.GetObjectStateEntry(this).GetModifiedProperties(); if (properties.Contains("Property1") || properties.Contains("Property2") || properties.Contains("Property3")) { … } 它强调每一个提到的properties在第二行,警告我多次枚举这个IEnumerable。 如果将.ToList()添加到第1行的末尾(将properties从IEnumerable<string>转换为List<string> ),则警告消失。 但是,如果将其转换为List,那么它将枚举整个IEnumerable来首先构buildList,然后根据需要枚举List以查找属性(即1个完全枚举和3个部分枚举)。 而在我原来的代码中,只做了3个部分枚举。 我错了吗? 这里最好的方法是什么?

C ++ ifstream failbit和badbit

在C ++的情况下,在什么条件下设置failbit和badbit标志?

迭代非增量枚举

在你问之前,我已经看了 看 ,并find了这个,并找不到一个坚实的答案。 我需要能够dynamic迭代具有非增量值的枚举,例如: typedef enum { CAPI_SUBTYPE_NULL = 0, /* Null subtype. */ CAPI_SUBTYPE_DIAG_DFD = 1, /* Data Flow diag. */ CAPI_SUBTYPE_DIAG_ERD = 2, /* Entity-Relationship diag. */ CAPI_SUBTYPE_DIAG_STD = 3, /* State Transition diag. */ CAPI_SUBTYPE_DIAG_STC = 4, /* Structure Chart diag. */ CAPI_SUBTYPE_DIAG_DSD = 5, /* Data Structure diag. */ CAPI_SUBTYPE_SPEC_PROCESS = […]

将同步代码包装到asynchronous调用中

我在ASP.NET应用程序中有一个方法,需要花费很多时间才能完成。 根据用户提供的caching状态和参数,在一次用户请求期间,对此方法的调用最多可能发生3次。 每个通话需要大约1-2秒钟才能完成。 该方法本身是对服务的同步调用,并且不可能覆盖实现。 所以对服务的同步调用看起来如下所示: public OutputModel Calculate(InputModel input) { // do some stuff return Service.LongRunningCall(input); } 方法的用法是(注意方法的调用可能会发生一次以上): private void MakeRequest() { // a lot of other stuff: preparing requests, sending/processing other requests, etc. var myOutput = Calculate(myInput); // stuff again } 我试图从我身边改变执行,以提供这种方法的同时工作,这是我到目前为止。 public async Task<OutputModel> CalculateAsync(InputModel input) { return await Task.Run(() => { return […]

在C ++ 11中是否有一个零大小的std :: array的原因?

考虑下面的一段代码,C ++ 11编译器完全可以接受这段代码: #include <array> #include <iostream> auto main() -> int { std::array<double, 0> A; for(auto i : A) std::cout << i << std::endl; return 0; } 根据标准§23.3.2.8[ 零尺寸arrays ]: 1arrays应提供对特殊情况N == 0 。 2在N == 0的情况下, begin() == end() ==唯一值。 返回值 data()是未指定的。 3调用front()或back()调用一个零大小的数组是没有定义的。 4成员函数swap()应该有一个noexcept-speci fi cation,相当于noexcept(true) 。 如上所示,在C ++ 11中,零大小的std::array是完全允许的,与零大小的数组(例如, int A[0]; )相比,它们被明确禁止,但它们被一些编译器例如GCC)以未定义的行为为代价。 考虑到这个“矛盾”,我有以下几个问题: […]

手动汇编vs GCC

免责声明:我刚刚开始与x86程序集。 我在大学学到了一点SPIM,但是这并不值得一提。 我以为我从libc,abs()中最简单的函数开始。 在C中非常简单: long myAbs(long j) { return j < 0 ? -j : j; } 我的汇编版本: .global myAbs .type myAbs, @function .text myAbs: test %rdi, %rdi jns end negq %rdi end: movq %rdi, %rax ret (这对32位整数不起作用,可能是因为RAX是一个64位寄存器,标志可能位于错误的位置 – 我必须调查)。 现在这里是gcc所做的(gcc -O2 -S myAbs.c): .file "myAbs.c" .section .text.unlikely,"ax",@progbits .LCOLDB0: .text .LHOTB0: .p2align 4,,15 .globl myAbs […]