C# C语言中的字符串表

C# C语言中的字符串表,c#,C#,有没有一种方法可以创建一个表,其中每个单元格在C中都包含一个字符串 我找到的最接近的东西是多维数组字符串[,]名称;,但它的长度似乎需要定义,这对我来说是个问题 下面是我的代码的样子: string[] namePost; int[] numbPage; string post=""; string newPost; int i=0; int j=0; foreach (var line in File.ReadLines(path).Where(line => regex1.Match

有没有一种方法可以创建一个表,其中每个单元格在C中都包含一个字符串

我找到的最接近的东西是多维数组字符串[,]名称;,但它的长度似乎需要定义,这对我来说是个问题

下面是我的代码的样子:

string[] namePost;
int[] numbPage;
string post="";
string newPost;
int i=0;
int j=0;

foreach (var line in File.ReadLines(path).Where(line => regex1.Match(line).Success))
            {
                newPost = regex1.Match(line).Groups[1].Value;
                if (String.Compare(newPost, post) == 0)
                {
                    j = j + 1;
                }
                else
                {
                    namePost[i] = post;
                    numbPage[i] = j;
                    post = newPost;
                    j = 1;
                    i = i + 1;
                }    
            }
for的每个实例都在namePost的单元格中写入新帖子的名称。最后,namePost表存储彼此不同的所有帖子的名称

实现这一目标的最佳方法是什么?

DataTable

使用这个,根本不需要定义长度

有用的指南和示例:

你可以用一个

var table = new List<List<string>>();

这将为您提供一个动态的2D字符串表。

如果您只是试图存储帖子,您可以使用命名空间中的:

using System.Collections.Generic;
List<String> namePost = new List<String>();

这将给你所有独特的职位。如果你想把结果列成一个列表,你可以做一个

托利斯先生

结果呢

static IEnumerable<string> AllPosts(Regex regex, string filePath)
{
  return File.ReadLines (filePath)
    .Where (line => regex.Match (line).Success)
    .Select (line => regex.Match (line).Groups [1].Value)
    .Distinct ();
}

我不确定我是否明白你想做什么。您有两个单独的一维数组,并且希望它们的值“同步”吗?为什么不创建一个存储这两个值的对象,然后保留该对象的数组/列表?您是否希望将文章中的每个单词作为字符串输入数组?不完全清楚你在问什么。基本上,我只想把post字符串添加到namePost表中。我想储存每一篇阅读过的文章,这些文章与以前的不同。如何创建一个存储所有这些值的对象?虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能会无效。@Cyril Durand我大体上同意你的观点。虽然DataTables非常常见,在我回答之后,一个非常快速的google搜索会给你提供数十亿个例子。因此,即使上述链接将被破坏,它仍然包含该点。
static IEnumerable<string> AllPosts(Regex regex, string filePath)
{
  return File.ReadLines (filePath)
    .Where (line => regex.Match (line).Success)
    .Select (line => regex.Match (line).Groups [1].Value)
    .Distinct ();
}