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