草庐IT

c# - 为什么调试 C# 项目会显示 C++/CLI 符号?

我在一些C#库和控制台项目(但不是我从头开始创建的项目)中遇到了一个奇怪的问题,它们使用C++/CLI表示法显示监视和用于调试的智能标签(例如,显示System::Object^我期望System.Object):我尝试更改项目guid,因为我认为这是问题所在(有些已经更改),删除obj/debug文件夹,重新启动VisualStudio2010,修复VisualStudio2010,甚至是旧的最爱重新启动Windows。是否有任何我遗漏的明显设置已以某种方式启用? 最佳答案 我也遇到了这个问题,调试器在所有c#项目中选择了c#和c

c# - 为什么 double.Parse 忽略零的符号?

例如,在:booleq=(1/double.Parse("-0.0"))==(1/-0.0);eq将为false。double.Parse必须经历一些麻烦才能显式忽略零符号,即使不这样做几乎不会导致问题。由于我需要原始表示,因此我必须编写自己的解析函数,该函数处理负零的特殊情况,并使用double.Parse处理其他所有内容。这不是什么大问题,但我真的很想知道他们为什么决定忽略零符号,因为在我看来不这样做并不是坏事。 最佳答案 我不知道为什么本身,但一个潜在的解决方案:如果你在开头看到一个-字符,解析字符串的其余部分并然后否定它。

c# - 正则表达式:匹配除 . 之外的任何标点符号。和 _

有没有一种简单的方法可以在C#正则表达式中匹配除句点和下划线之外的所有标点符号?希望在不列举每一个标点符号的情况下做到这一点。 最佳答案 使用正则表达式减法[\p{P}-[._]]这是.NETRegex文档的链接(我不确定其他风格是否支持它)...http://msdn.microsoft.com/en-us/library/ms994330.aspx这是一个C#示例stringpattern=@"[\p{P}\p{S}-[._]]";//added\p{S}toget^,~and`(amongothers)stringtest=@

c# - 检查文件是真实的还是符号链接(symbolic link)

有没有办法使用C#判断文件是真实文件还是符号链接(symboliclink)?我已经挖掘了MSDNW32docs,并且找不到任何东西来检查这个。我在这里使用CreateSymbolicLink,它工作正常。 最佳答案 privateboolIsSymbolic(stringpath){FileInfopathInfo=newFileInfo(path);returnpathInfo.Attributes.HasFlag(FileAttributes.ReparsePoint);} 关于c

c# - C# 有无符号 double 吗?

我需要使用unsigneddouble但事实证明C#不提供这种类型。有人知道为什么吗? 最佳答案 正如AndersForsgren所指出的,IEEE规范中没有无符号double(因此C#中也没有)。调用Math.Abs()总是可以得到正值你可以将一个double包装在一个结构中并在那里强制执行约束:publicstructPositiveDouble{privatedouble_value;publicPositiveDouble(){}publicPositiveDouble(doubleval){//ortruncate/tak

c# - LINQ:等同于 JOIN 的点符号

考虑使用查询符号编写的这个LINQ表达式:Listpr=(frompindb.Personsjoineindb.PersonExceptionsonp.IDequalse.PersonIDwheree.CreatedOn>=fromDateorderbye.CreatedOndescendingselectp).ToList();问题:如何使用点表示法编写此LINQ表达式? 最佳答案 像这样:Listpr=db.Persons.Join(db.PersonExceptions,p=>p.ID,e=>e.PersonID,(p,e)=

c# - Path.Combine 和点符号

这个问题在这里已经有了答案:Path.Combineabsolutewithrelativepathstrings(7个答案)关闭6年前。我正在寻找类似于Path.Combine方法的东西,它可以帮助我正确组合绝对路径和相对路径。比如我要Path.Combine(@"c:\alpha\beta",@"..\gamma");产生c:\alpha\gamma而不是c:\alpha\..\gamma就像Path.Combine那样。有什么简单的方法可以做到这一点?不用说,我还想在.路径或多个..路径(例如,..\..\)中正常工作.

c# - 为什么我的 C# 数组在转换为对象时会丢失类型符号信息?

调查一个错误,我发现这是由于c#中的这种怪异:sbyte[]foo=newsbyte[10];objectbar=foo;Console.WriteLine("{0}{1}{2}{3}",fooissbyte[],fooisbyte[],barissbyte[],barisbyte[]);输出是“TrueFalseTrueTrue”,而我本以为“barisbyte[]”会返回False。显然bar既是byte[]又是sbyte[]?对于其他有符号/无符号类型,如Int32[]与UInt32[]也会发生同样的情况,但不是说Int32[]与Int64[].谁能解释这种行为?这是在.NET3

c# - 3 位货币代码到货币符号

在C#中,是否可以从3个字符的货币代码(在本例中为“GBP”)中获取货币符号,如“£”?这在SQLServer或C#中是否可行? 最佳答案 虽然有点蛮力而且不是特别优雅,但您可以这样做:publicboolTryGetCurrencySymbol(stringISOCurrencySymbol,outstringsymbol){symbol=CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c=>!c.IsNeutralCulture).Select(culture=>{

c# - 格式化 double 值,如货币但不带货币符号 (C#)

我向文本框提供一个字符串值,显示需要像这样格式化的余额:###,###,###,##0.00我可以使用value.ToString("c"),但这会将货币符号放在它前面。知道在输入文本框以实现上述格式之前我将如何操作字符串吗?我试过了,没有成功:String.Format("###,###,###,##0.00",currentBalance);非常感谢, 最佳答案 如果货币格式完全符合您的要求,请克隆一个NumberFormatInfo并将CurrencySymbol属性设置为“”。当然,您应该检查它是否也以您想要的方式处理负数。