[英]Split a string of number and words c#
嗨,我想分割一個用空格分隔的字符串,其形式為1010 FirstName MidName LastName
並在C#MVC4 Controller中使用整數1010。此字符串將從隱藏的表單元素解析為控制器
var str = "1010 Firstname Midname LastName";
string[] parts = str.Split(' ');
if (parts != null)
{
int idpart = parts[0];
}
我收到錯誤,無法將類型字符串隱式轉換為int預先感謝
var str = "1010 Firstname Midname LastName";
string[] parts = str.Split(' ');
if (parts != null)
{
int idpart = Convert.ToInt32(parts[0]);
string firstpart = parts[1];
string midpart = parts[2];
string lastpart = parts[3];
}
使用Split方法-接受分隔符數組並返回字符串數組。
private static char[] splitArray = { ' ' };
string[] results = input.Split(splitArray);
異常是由以下行引起的:
int idpart = parts[0];
因為parts [0]將是一個字符串,並且您不能直接將其分配給int。
您需要告訴它將字符串解析為一個int,如下所示:
int idpart = int.Parse(parts[0]);
請注意,如果您傳遞的字符串格式不符合解析器可以轉換為整數的格式,則這將引發異常,因此您將需要使用某種形式的異常處理或使用int.TryParse方法 。
您不能簡單地將字符串轉換為int,而是必須使用int.Parse()進行顯式轉換
string str = "1010 FirstName MidName LastName";
var splits = str.Split(' ');
var number = int.Parse(splits[0]);
最好使用int.TryParse()。不會引發任何異常。
var str =“ 1010名中間名姓”;
var splittedData = str.Split(' ');
if (splittedData != null && splittedData.Length > 0)
{
int _number;
if (!int.TryParse(splittedData[0], out _number))
{
Console.WriteLine("Not a number");
}
else
{
Console.WriteLine("Got this number - {0}", _number);
}
}
Console.ReadLine();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.