我是不知道有这样的方法,但是用哪个三目的运算符还是不错的,呵呵~~
string temp = a=="" ? b : a ; //这句话的意思是如果a==""为true,那么就给a赋b的值,否则就赋a的值。首先前提是 a,b都是string类型的,否则要强转。
如果你想写问题中的 int a=int.prise(b) 解决判断b是否为空吗?(int.prise 这个好像不是c#吧)
可以写成 int a=int.prise(b==""?0: Convert.ToInt32(b));
大概是这个意思,这里b是string类型的(如果是int型的,为空的话,默认值就是0)
Convert.ToInt32(b)这个方法,是c#中强转成int型的方法,前提b中的值,全是数字,否则也会报错
1、这样现成的函数应该没有。
2、在.Net中可用一个简单的方法实现:
public string Nvl(string a, string b)
{
try
{
if (a == "") { return b; }
}
catch (Exception ex)
{ throw new Exception(ex.Message); }
}
你问字符串,怎么举的java例子是int类型的,如果你问的是int类型的是否为null,也就是是否有值,可以用??
C# 2.0开始有System.Nullable可空类型
int? b=null;
int a= b ?? 0; //a值为0
??操作符就是验证是否为null