C# 列表的子字符串<;字符串>;

C# 列表的子字符串<;字符串>;,c#,c#-3.0,C#,C# 3.0,我有一个定义如下的列表: foreach (DataRow row in tzctStgImpCheck.Rows) { Console.WriteLine(); for (int x = 0; x < tzctStgImpCheck.Columns.Count; x++) { List<string> spon = new List<string> { }; tableRow = row[x]

我有一个定义如下的
列表

 foreach (DataRow row in tzctStgImpCheck.Rows)
 {
     Console.WriteLine();
     for (int x = 0; x < tzctStgImpCheck.Columns.Count; x++)
     {
         List<string> spon = new List<string> { };

         tableRow = row[x].ToString();

         spon.Add(tableRow);
     }
 }
foreach(tzctStgImpCheck.Rows中的数据行)
{
Console.WriteLine();
对于(int x=0;x
每个表行将包含如下字符串:

##SP00000000007 12/31/2015 12:00:00 AM12/31/2014 12:00:00 AM#


我想在一个变量中存储
SP00000000007
12/31/2015
是另一个变量,
12/31/2014
是另一个变量。如何执行此操作?

您可以获取原始字符串并使用string.CompareOrdinal方法(string,string)测试原始字符串中存在的空格。我相信a(空格)的序数是32

然后,只需使用循环从头到尾测试原始字符串的每个字母,在运行时将值连接到变量中,并在命中空格或字符串末尾时将变量值转储到数组中

只是别忘了增加你在数组中的位置:-),但是你应该在数组中的子字符串都很漂亮和整洁


p、 我没有用C或C#来做这件事,但我用javascript和ruby来做。我希望这能有所帮助。

您可以这样做:

    foreach(string item in listOfItems){
        string[] var = item.split(' ');
        string s1 = var[0].replace("#", "");
        string s2 = var[1];
        string s3 = var[3].replace("AM", "");
        //Do whatever you want with your parameters...
    }

你试过什么?似乎您希望在多个位置拆分此字符串。您试过了吗?在
for
循环的每次迭代中,您都会创建一个新的空列表
spon
,向其中添加一个条目,然后将其丢弃。我怀疑这是您想要的。@AlkeshDeshpande使用调试器并检查
spon
对象中的项目,您将看到哪里出错了。。另外,您在哪里使用子字符串?我相信我们还需要知道格式的一致性。仅举一个可能的字符串示例,就很难生成健壮的解析例程。