Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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# 如何将ReadLine()中的每一行用户输入转换为单独的字符列表?C、 控制台_C#_Console - Fatal编程技术网

C# 如何将ReadLine()中的每一行用户输入转换为单独的字符列表?C、 控制台

C# 如何将ReadLine()中的每一行用户输入转换为单独的字符列表?C、 控制台,c#,console,C#,Console,当打开控制台应用程序时,用户应该粘贴成行的点和星,所有这些看起来都像一个矩阵。我想把每一行都列成一个单独的列表。我想我知道如何处理列,但当涉及行时,我无法掌握如何处理。有人能帮一个新人吗?如果你懂一点林克,那还不错 public void Main(string res) { var passedValues = res.Select(x => x).ToList(); } List<List<char>> lines = new List<L

当打开控制台应用程序时,用户应该粘贴成行的点和星,所有这些看起来都像一个矩阵。我想把每一行都列成一个单独的列表。我想我知道如何处理列,但当涉及行时,我无法掌握如何处理。有人能帮一个新人吗?

如果你懂一点林克,那还不错

public void Main(string res) {
    var passedValues = res.Select(x => x).ToList();   
}
List<List<char>> lines = new List<List<char>>();

string line = string.Empty;

while((line = Console.ReadLine()) != null && line != string.Empty)
{
     lines.Add(line.Select(x => x).Where(x => x != ' ').ToList());
}

我们有一个字符列表,因此每一行都表示为此列表中的一行>。然后我们需要继续从控制台读取行,直到它不再返回值。这就是我们获取用户输入的每一行的方式。现在我们有了一个字符串行来处理以这种方式读取的每一行。一点LINQ允许我们遍历行中的每个字符x,其中字符x不是空格,并将结果所有非空白字符强制转换为字符列表。每次这样做时,我们都会创建一个新行。最后,我们只需将该行添加到我们拥有的字符行列表中,瞧。希望这对您有所帮助

我不知道您的输入是如何格式化的,但是您可以使用类似这样的方法在.split方法中对空格或特定字符进行拆分

public List<string> SplitList = new List<string>();

    public void SplitByRow()
    {
        var userInput = Console.ReadLine();

        string[] splitArray = userInput != null ? userInput.Split(' ') : null;
        SplitList = splitArray != null ? splitArray.ToList() : null;
    }

我不太清楚你在说什么,比如,一张什么的清单。这就是为什么这里的好问题总是显示您尝试过的代码。尝试构建一个问题并编辑您的问题。新guyz的帮助位于What features中。也一定要阅读。另请参阅发布您尝试过的代码示例将允许有人帮助您请不要仅发布代码作为答案,还要解释您的代码的作用以及它如何解决问题。带有解释的答案通常质量更高,更容易吸引选票。