草庐IT

符号运算

全部标签

c# - C# 类如何处理 JSON 中的美元符号?

我从Google'sdataAPI得到一个JSON提要许多属性名称以$字符(美元符号)开头。我的问题是我无法创建变量名以美元符号开头的C#类,语言不允许这样做。我正在使用JSON.NETfromNewtonsoft将JSON转换为C#对象。我怎样才能解决这个问题? 最佳答案 您可以尝试使用[JsonProperty]属性来指定名称:[JsonProperty(PropertyName="$someName")]publicstringSomeName{get;set;} 关于c#-C#类

c# - IS 运算符是否拆箱值类型?

我找不到以下问题的答案:objecto=10;//Boxinti=(int)o;//Unbox说的很清楚,下面的不清楚boolisInt=oisint;//Istheunboxhereornot? 最佳答案 不,这不是拆箱-它只是检查类型是否正确。不要忘记确实涉及到一个对象,它有一个类型。无论该值是否为装箱值类型值,检查该类型基本上都是相同的操作。(对于值类型或任何密封类型可能有一些优化是可行的,因为没有要考虑的继承,但从根本上说它仍在检查对象header的“类型”部分。)一种检查方法是编译代码并使用ILASM查看IL://obje

C# 使用管道和符号传递多个枚举值之间的区别

C#接受这个:this.MyMethod(enum.Value1|enum.Value2);还有这个:this.MyMethod(enum.Value1&enum.Value2);有什么区别? 最佳答案 当您执行|时,您选择了两者。当您执行&时,您只会看到重叠的部分。请注意,只有当您将[Flags]属性应用于您的枚举时,这些运算符才有意义。参见http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx有关此属性的完整说明。例如,以下枚举:[Flags]publ

c# - 将德语字符(变音符号、重音符号)替换为英语对应字符

将德语字符(元音变音、重音符号)替换为英语字符我需要从各种文本字段中删除所有德语特定字符,以便处理到另一个系统中,该系统不会接受它们为有效。所以我知道的字符是:ß一种Øü一种厄ü目前我有一些手动替换它们的方法:myGermanString.Replace("ä","a").Replace("ö","o").Replace("ü","u").....但我希望有一种更简单/更有效的方法来做到这一点。由于每次运行我将在数千个字符串上执行此操作,其中99%将不包含这些字符。也许涉及某种CultureInfo的方法?(例如,根据MS,以下返回的字符串是相等的String.Compare("Str

c# - 在 .NET 中移动符号位

我正在从单色位图中读取位。我以相反的顺序将每16位存储在short中。如果位图中的位为黑色,则存储1。如果为白色,则存储0。例如:对于位图:bbbwbbbwbbbwwwww我的短是:0000011101110111我尝试这样做的第一种方法是:shortm;//...Colorc=bmp.GetPixel(j,i);if(c.R==Color.Black)m|=short.MinValue;m>>=1;//...在一次分配和轮类后,我得到了预期的-32768(1000000000000000)。第二次后我得到-16384(1100000000000000)。我将代码更改为使用ushort

c# - 试图理解==运算符与对象

这个问题已经有了答案:C#differencebetween==andEquals()17答objecta="1";objectb="1";Console.WriteLine(a==b);//returnsTrueobjectc=1;objectd=1;Console.WriteLine(c==d);//returnsFalse上面的代码返回整数和字符串的不同结果。我不明白为什么。有人能帮我理解这背后的原因吗?那么==(运算符)和ReferenceEquals(函数)之间有什么区别呢? 最佳答案 尽管EdShasanswered检查

c# - 什么是 |和 ^ 运算符用于什么?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatarebitwiseoperators?最近我发现了一些使用|和^运算符。我猜这些是or和negation运算符。那么这些运算符实际上代表什么?

C# if 语句速记运算符 (?:) results in unreachable code

为什么我在使用VisualStudio2010的C#中收到此警告?"Unreachableexpressioncodedetected"来自以下代码(DateTime.Now以绿色波浪线下划线):publicDateTimeStartDate{get{DateTimedt=(DateTime)ViewState["StartDate"];return((dt==null)?DateTime.Now:dt);}} 最佳答案 因为DateTime结构永远不能为null。如果您期望可能的空值,则必须使用可为空的DateTime结构。您也可

c# - 为什么 Postfix++/-- 在 C# 中被归类为主要运算符?

目前,我正在向一类C++程序员讲授C#语言的基础知识。在我们讨论主题运算符时,我使用了C#标准类别的主要、一元等运算符。其中一位与会者感到不解,因为在C#标准中,“后缀++/--”被归入了初级运算符的范畴,而不是“前缀++/--”。她造成这种混淆的理由是,她宁愿根据运算符“前缀++/--”来实现C++运算符“postfix++/--”。换句话说,她宁愿将运算符“前缀++/--”算作主要运算符。-我明白她的意思,但我不能给她背后的理由。好的,运算符“postfix++/--”的优先级高于“prefix++/--”,但这是唯一的理由吗?规范在“14.2.1运算符优先级和结合性”部分提到了它

c# - 反编译源中不寻常的 C# 运算符...?

我刚刚使用DotPeek反编译了一些第3方源代码以调试问题。输出代码包含一些不寻常的运算符,AFAIK不是有效的C#,所以我想知道它们是什么意思...摘录看起来像(包括Dotpeek评论,因为它们可能是相关的);protectedinternalvoidDoReceive(refbyte[]Buffer,intMaxSize,outintWritten){Written=0;...//ISSUE:explicitreferenceoperation//ISSUE:variableofareferencetypeint&local=@Written;intnum=SomeMethod()