Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C语言中将字符串分隔为多个项#_C#_.net_Visual Studio 2010 - Fatal编程技术网

C# 在C语言中将字符串分隔为多个项#

C# 在C语言中将字符串分隔为多个项#,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我有以下代码 string tString; int flNum; string flLeg; tString = "25664-A"; 我需要把tString转换成两个变量,flNum和flLeg。 我想要的结果是-flNum=25664 flLeg=A 我的尝试失败了- flNum = Convert.ToInt32(tString.Substring(tString.IndexOf("-") - 1)); flLeg = tString.Substring(tStr

我有以下代码

  string tString;
  int flNum;
  string flLeg;

  tString = "25664-A";
我需要把tString转换成两个变量,flNum和flLeg。 我想要的结果是-flNum=25664 flLeg=A

我的尝试失败了-

 flNum = Convert.ToInt32(tString.Substring(tString.IndexOf("-") - 1));
 flLeg = tString.Substring(tString.IndexOf("-") + 1, 1);
但我错了。关于如何更改此代码以获得我想要的结果,有什么建议吗

谢谢你的帮助

string[] parts = tString.Split('-');

flNum = int.Parse(parts[0]);
flLeg = parts[1];
根据
tString
的内容,调用
Int32.Parse
可能会引发
FormatException
,因此
Int32.TryParse
可能是更好的选择。为了简洁起见,我只使用
Parse


根据
tString
的内容,调用
Int32.Parse
可能会引发
FormatException
,因此
Int32.TryParse
可能是更好的选择。为了简洁起见,我只使用了
Parse

您可以简单地使用string.Split()方法

在代码中,会出现错误,因为对于第一个子字符串,需要传递起点和长度

flNum = Convert.ToInt32(tString.Substring(0, tString.IndexOf("-")));  
您可以正确找到破折号的位置,但此位置作为子字符串的起点传递,但没有从传递的位置开始的数字,因此转换失败


(删除长度的-1,因为这是一个长度而不是位置)

您可以简单地使用string.Split()方法

在代码中,会出现错误,因为对于第一个子字符串,需要传递起点和长度

flNum = Convert.ToInt32(tString.Substring(0, tString.IndexOf("-")));  
您可以正确找到破折号的位置,但此位置作为子字符串的起点传递,但没有从传递的位置开始的数字,因此转换失败

(并删除长度的-1,因为这是一个长度而不是位置)

string[] parts = tString.Split('-'); 

if (parts.Length == 2)
{
    flLeg = parts[1]; 
    if (int.TryParse(parts[0], out flNum )
    {
        //All good
    }
    else
    {
        //Handle problem
    }
}
else
{
   //Handle problem
}