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