C#中方法:如果字符串为空,则用其他字符串替换?像oracle中的nvl(a,b)。

C#中方法:如果字符串为空,则用其他字符串替换?像oracle中的nvl(a,b)。如 int a=int.prise(b),此时如果b为空,则会出现异常,我想实现在检测b为空,则使用“0”来替换。像oracle中的nvl(a,b)意思就是如果a为空,则用b替换。.我可以使用if else来实现,也可以自己定义一个方法来实现。我想问的是net中有没有这样的函数可以直接调用的。希望我的意思说的够清楚。

我是不知道有这样的方法,但是用哪个三目的运算符还是不错的,呵呵~~
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个回答  推荐于2017-12-16
1、这样现成的函数应该没有。
2、在.Net中可用一个简单的方法实现:
public string Nvl(string a, string b)
{
try
{
if (a == "") { return b; }
}
catch (Exception ex)
{ throw new Exception(ex.Message); }
}本回答被网友采纳
第2个回答  2013-08-01
你问字符串,怎么举的java例子是int类型的,如果你问的是int类型的是否为null,也就是是否有值,可以用??
C# 2.0开始有System.Nullable可空类型

int? b=null;
int a= b ?? 0; //a值为0

??操作符就是验证是否为null
相似回答