草庐IT

int_void

全部标签

c# - 评估字符串 "3*(4+2)"yield int 18

这个问题在这里已经有了答案:Isitpossibletocompileandexecutenewcodeatruntimein.NET?(15个答案)关闭9年前。.NET框架是否有一个函数可以计算字符串中包含的数值表达式并返回结果?例如:stringmystring="3*(2+4)";intresult=EvaluateExpression(mystring);Console.Writeln(result);//Outputs18是否有一个标准的框架函数可以用来替换我的EvaluateExpression方法?

c# - 评估字符串 "3*(4+2)"yield int 18

这个问题在这里已经有了答案:Isitpossibletocompileandexecutenewcodeatruntimein.NET?(15个答案)关闭9年前。.NET框架是否有一个函数可以计算字符串中包含的数值表达式并返回结果?例如:stringmystring="3*(2+4)";intresult=EvaluateExpression(mystring);Console.Writeln(result);//Outputs18是否有一个标准的框架函数可以用来替换我的EvaluateExpression方法?

c# - 为什么递增 Nullable<int> 不会抛出异常?

你能解释一下,为什么Console.WriteLine写空行(Console.WriteLine(null)给我编译错误)以及为什么没有NullReferenceException(甚至a+=1不应该提高它)?int?a=null;a++;//WhythereisnotNullReferenceException?Console.WriteLine(a);//Emptyline 最佳答案 您正在观察提升运算符的效果。来自C#5规范的第7.3.7节:Liftedoperatorspermitpredefinedanduser-defi

c# - 为什么递增 Nullable<int> 不会抛出异常?

你能解释一下,为什么Console.WriteLine写空行(Console.WriteLine(null)给我编译错误)以及为什么没有NullReferenceException(甚至a+=1不应该提高它)?int?a=null;a++;//WhythereisnotNullReferenceException?Console.WriteLine(a);//Emptyline 最佳答案 您正在观察提升运算符的效果。来自C#5规范的第7.3.7节:Liftedoperatorspermitpredefinedanduser-defi

c# - 为什么 Decimal.Divide(int, int) 有效,但 (int/int) 无效?

如何将两个32位int数字相除作为(int/int)返回给我0,但是如果我使用Decimal.Divide()我会得到正确的答案?我绝不是一个c#人。 最佳答案 int是整数类型;将两个整数相除执行整数除法,即小数部分被截断,因为它不能存储在结果类型中(也是int!)。相比之下,Decimal有一个小数部分。通过调用Decimal.Divide,您的int参数会隐式转换为Decimal。您可以通过将至少一个参数显式转换为浮点类型来强制对int参数进行非整数除法,例如:inta=42;intb=23;doubleresult=(dou

c# - 为什么 Decimal.Divide(int, int) 有效,但 (int/int) 无效?

如何将两个32位int数字相除作为(int/int)返回给我0,但是如果我使用Decimal.Divide()我会得到正确的答案?我绝不是一个c#人。 最佳答案 int是整数类型;将两个整数相除执行整数除法,即小数部分被截断,因为它不能存储在结果类型中(也是int!)。相比之下,Decimal有一个小数部分。通过调用Decimal.Divide,您的int参数会隐式转换为Decimal。您可以通过将至少一个参数显式转换为浮点类型来强制对int参数进行非整数除法,例如:inta=42;intb=23;doubleresult=(dou

c# - 如何将 int[] 连接到 .NET 中的字符分隔字符串?

我有一个整数数组:int[]number=newint[]{2,3,6,7};将这些数字转换为由字符分隔的单个字符串(如:"2,3,6,7")的最简单方法是什么?我正在使用C#和.NET3.5。 最佳答案 varints=newint[]{1,2,3,4,5};varresult=string.Join(",",ints.Select(x=>x.ToString()).ToArray());Console.WriteLine(result);//prints"1,2,3,4,5"从(至少).NET4.5开始,varresult=st

c# - 如何将 int[] 连接到 .NET 中的字符分隔字符串?

我有一个整数数组:int[]number=newint[]{2,3,6,7};将这些数字转换为由字符分隔的单个字符串(如:"2,3,6,7")的最简单方法是什么?我正在使用C#和.NET3.5。 最佳答案 varints=newint[]{1,2,3,4,5};varresult=string.Join(",",ints.Select(x=>x.ToString()).ToArray());Console.WriteLine(result);//prints"1,2,3,4,5"从(至少).NET4.5开始,varresult=st

c# - 我应该避免使用 'async void' 事件处理程序吗?

我知道使用即发即弃asyncvoid方法来启动任务通常被认为是一个坏主意,因为没有待处理任务的跟踪并且处理异常很棘手可能会被抛入这样的方法中。我通常也应该避免使用asyncvoid事件处理程序吗?例如,privateasyncvoidForm_Load(objectsender,System.EventArgse){awaitTask.Delay(2000);//doasyncwork//...}我可以这样重写:TaskonFormLoadTask=null;//trackthetask,canimplementcancellationprivatevoidForm_Load(obje

c# - 我应该避免使用 'async void' 事件处理程序吗?

我知道使用即发即弃asyncvoid方法来启动任务通常被认为是一个坏主意,因为没有待处理任务的跟踪并且处理异常很棘手可能会被抛入这样的方法中。我通常也应该避免使用asyncvoid事件处理程序吗?例如,privateasyncvoidForm_Load(objectsender,System.EventArgse){awaitTask.Delay(2000);//doasyncwork//...}我可以这样重写:TaskonFormLoadTask=null;//trackthetask,canimplementcancellationprivatevoidForm_Load(obje