如何在asp.net中检查字符串数组的条件
本文关键字:字符串 数组 条件 检查 asp net | 更新日期: 2023-09-27 18:14:40
我必须检查asp.net中字符串数组
的条件条件是我可以有两个值360__image.jpg和image.jpg。
我必须从条件
- 如果字符串有360_image.jpg,我必须只返回image.jpg和切割360_
- 如果字符串是image.jpg,我必须返回相同的image.jpg
public string splitString(string str)
{
string[] FileName = str.Split('_');
if (FileName[2] != "")
{
return FileName[2];
}
else
{
return FileName[0];
}
}
public string splitString(string str)
{
string[] FileName = str.Split('_');
if (FileName[2] != "")
{
return FileName[2];
}
else
{
return FileName[0];
}
}
上面代码的问题是我得到错误
Index was outside the bounds of the array
在从数组中访问元素之前应该检查长度,这就是为什么您会得到异常,因为拆分可能导致两个元素的数组。
我不太确定你的要求,但我认为你可以简化你的方法:
public string splitString(string str)
{
if (str.Contains("_")) //or check for 360__
return str.Substring(str.LastIndexOf('_') + 1);
else
return str;
}
您可以使用LastIndexOf
:
public string splitString(string str)
{
return str.Substring(str.LastIndexOf('_') + 1);
}
或者甚至使用LINQ Last
:
public string splitString(string str)
{
return str.Split('_').Last();
}
数组有2个元素,表示索引0和1。
但你已经把你的代码作为FileName[2]
。
第二个索引可能是错误的,这就是为什么会出现错误。可能是1.
试一试:
public string splitString(string str)
{
string[] FileName = str.Split('_');
if (FileName[1] != "")
{
return FileName[1];
}
else
{
return FileName[0];
}
}