草庐IT

converter

全部标签

c# - (-) Convert 方法中使用的符号

我在浏览一些C#代码时发现了这一行:Matrix[i,j]=Convert.ToInt32(grab[i,j]-'0');(-)到底是做什么的?如果有的话,还有另一种写法吗? 最佳答案 -(减号)做的正是它一直做的事——减法。这里发生的事情是从[i,j]处的字符中减去零'0'的字符代码。这会将数字字符转换为相应数字的整数值。例如,如果你计算chardigitChar='7';intdigitVal=digitChar-'0';digitVal的值为七。 关于c#-(-)Convert方法

c# - 通过 ref : cannot convert from 'Foo' to 'ref IFoo' 传递实现

这个问题在这里已经有了答案:Whydoesn't'ref'and'out'supportpolymorphism?(10个答案)关闭3年前。有人可以向我解释为什么这在C#中是不正确的吗:namespaceNamespaceA{publicclassClassA{publicinterfaceIInterfaceA{StringProperty{set;}}}}namespaceNamespaceB{publicclassClassB{publicclassImpA:NamespaceA.ClassA.IInterfaceA{privateStringmProperty;publicSt

c# - 将 RGB 转换为 CMYK,使用 ICC 配置文件

我正准备将RGB颜色转换为CMYK以用于打印目的。此转换的比例是Adob​​ePhotoshop(图像->模式->CMYK颜色)我尝试了2个解决方案,但没有一个返回正确的值:解决方案1-使用.NETFramework一开始,我是按照这些步骤操作的从Adobe下载ICC配置文件(windows版本)转换#colortoCMYK使用System.Windows.Media.Color.FromValues//返回颜色MSDNstringconvretedColor=string.Format("#{0:X2}{1:X2}{2:X2}",_color.R,_color.G,_color.B)

c# - Convert.ToDouble ("4089.90") 输出 40.899,00 为什么?

我正在开发一个使用数字精度的软件,但我遇到了这个问题,当我将一个字符串转换为double时,它​​会输出不同的文化。例如我使用Convert.ToDouble("4089.90");//itoutputs40.899,00很奇怪,因为在我的电脑上它工作正常,但在客户端的电脑上(在区域设置中具有相同的文化)向我显示了后者的输出。我知道我可以使用修复它Convert.ToDouble("4089.90",System.Globalization.CultureInfo.InvariantCulture);但程序中有很多代码使用“Convert.ToDouble”,我不想全部更改,另一方面我

c# - 是否可以创建通用的 Int-to-Enum 转换器?

我想说如果int值等于(int)MyEnum.Value,则将其解析为True我知道我可以制作一个返回(MyEnum)intValue的Converter,但是我必须为我在DataTriggers中使用的每个Enum类型制作一个转换器.是否有一种通用的方法来创建可以提供这种功能的转换器? 最佳答案 可以以可重用的方式在枚举值和它们的基础整数类型之间创建一个转换器——也就是说,您不需要为每个枚举类型定义一个新的转换器。为此,Convert和ConvertBack提供了足够的信息。publicsealedclassBidirection

c# - Func<T, TResult> 和 Converter<TInput, TOutput> 有什么区别?

查看Func和Converter委托(delegate)的签名,publicdelegateTResultFunc(Targ);publicdelegateTOutputConverter(TInputinput);我很难看出两者之间的区别。当然,如果我们重命名泛型类型参数,它们本质上是一样的吗?有人能解释一下为什么它们都存在吗? 最佳答案 没有区别。它们存在的原因是历史性的。Converter在.NET2.0中已经可用,但整个范围Func稍后添加了委托(delegate)类型。为了保持一致性,Func已添加,但它与Converte

c# - 如何在 C# 中将 double 值转换为 DateTime?

我有值40880.051388并将其存储为double值,如果我打开Excel并粘贴到一个单元格中并将以下自定义格式“m/d/yyyyh:mm”应用到该值单元格,我得到"12/3/20111:14"如何在C#中执行此解析/转换?我不知道该值是否是某个检查点的毫秒数,例如纪元时间,或者该值是否采用某种特定的准备格式,但excel是如何得出这个特定值的?可以在C#中完成吗?我已经尝试在VisualStudio中使用TimeSpan、DateTime和其他类似的东西,但没有任何进展。 最佳答案 看起来您正在使用旧的OLEAutomatio

c# - 为什么 System.Convert 有接受 DateTime 的 ToDateTime?

////Summary://ReturnsthespecifiedSystem.DateTimeobject;noactualconversionisperformed.////Parameters://value://Adateandtimevalue.////Returns://valueisreturnedunchanged.publicstaticDateTimeToDateTime(DateTimevalue);为什么System.Convert有接受DateTime的ToDateTime?方法文档声明该值保持不变。 最佳答案

c# - Convert.ChangeType 的更快版本

在我的应用程序中,我经常调用Convert.ChangeType以将值转换为动态加载的类型。但是,在使用ANTS进行分析后,我发现此Convert.ChangeType似乎需要花费大量时间(由于被频繁调用)。有没有人有比这更快的替代方法?此时我有一个包含目标的类型对象,以及一个包含值的string。以下是有问题的代码。我正在考虑对类型执行switch语句(因为它是类型的有限集合)并调用解析方法,尽管我不确定这是否会更快。if(attributeRow["Value"]!=DBNull.Value)sample[attr]=attr.AttributeType==typeof(Guid)

c# - Convert.ToDateTime 在下午日期/时间值上导致 FormatException

我们有一个应用程序解析以下格式的日期/时间值:2009-10-1009:19:12.1242009-10-1012:13:14.8522009-10-1013:00:002009-10-1015:23:32.022一个特定的服务器突然(今天)在13:00:00或更晚的任何时间开始解析失败。这个特定的客户端有五台服务器,只有一台有问题。我们有几十个其他客户,总共有数百台服务器没有问题。System.FormatException:StringwasnotrecognizedasavalidDateTime.atSystem.DateTimeParse.Parse(Strings,Date