我有以下字符串:
var temp = null;
var temp = "";
var temp = "12345678";
var temp = "1234567890";
如果输入变量为8或10个字符,如果有一个函数可以给出输入变量的最后四位数,我需要做的是。否则我需要它返回"";
我是否有一种简单的方法可以在C#中实现这一点。我只是不确定如何处理null因为如果我得到null的长度,那么我认为这会给我一个错误。
答案 0 :(得分:2)
int length = (temp ?? "").Length;
string subString = "";
if(length == 8 || length == 10)
{
subString = temp.Substring(length - 4);
}
答案 1 :(得分:2)
您可以使用IsNullOrEmpty,如果string为null或Empty,则无法使用子字符串。
if (!String.IsNullOrEmpty(str) && (str.Length == 8 || str.Length == 10))
{
string substr = str.Substring(str.Length-4);
}
答案 2 :(得分:1)
试试这个
string YourFunctionName(string input)
{
string rVal = "";
if (string.IsNullOrEmpty(input))
return rVal;
if (input.Length == 8 || input.Length == 10)
rVal = input.Substring(input.Length - 4);
return rVal;
}
答案 3 :(得分:0)
如果写一个函数,我可能会这样写:
string GiveMeABetterName (string input) {
if (input != null
&& (input.Length == 8 || input.Length == 10)) {
return input.Substring(input.Length - 4);
} else {
return "";
}
}
从所有答案中可以看出,有多种方法可以实现这一目标。