C# 当我按Enter键而不给出任何值时,我希望返回第一个案例,但它会返回第二个案例 使用系统; 使用System.Collections.Generic; 名称空间程序 { 职业类 { 静态void Main(字符串[]参数) { 变量名称=新列表(); var Line=Console.ReadLine().Split(); foreach(行中的var项目) { 名称。添加(项目); } 开关(名称.计数) { 案例0: Console.WriteLine(); 打破 案例1: Console.WriteLine(名称[0]+“喜欢你的帖子”); 打破 案例2: Console.WriteLine(名称[0]+”和“+名称[1]+”喜欢你的帖子); 打破 违约: Console.WriteLine(名称[0]+”和“+名称[1]+”和” +(names.Count-2)+“喜欢你的帖子”); 打破 } } } }

C# 当我按Enter键而不给出任何值时,我希望返回第一个案例,但它会返回第二个案例 使用系统; 使用System.Collections.Generic; 名称空间程序 { 职业类 { 静态void Main(字符串[]参数) { 变量名称=新列表(); var Line=Console.ReadLine().Split(); foreach(行中的var项目) { 名称。添加(项目); } 开关(名称.计数) { 案例0: Console.WriteLine(); 打破 案例1: Console.WriteLine(名称[0]+“喜欢你的帖子”); 打破 案例2: Console.WriteLine(名称[0]+”和“+名称[1]+”喜欢你的帖子); 打破 违约: Console.WriteLine(名称[0]+”和“+名称[1]+”和” +(names.Count-2)+“喜欢你的帖子”); 打破 } } } },c#,C#,我没有测试过您的代码,也没有遇到过这个特定问题。但我有根据的猜测是,它正在将“”(空字符串)添加到您的列表中。我建议您在将每个条目添加到列表时将其打印到控制台。。。看看它在列表中添加了什么。然后,如果要修复它,请确保通过将其与“”进行比较并在发现add指令为空时跳过带有空字符串的条目 让我知道它是如何运行的。您应该使用此拆分方法选项:removemptyentries以删除空字符串,正如@ZorgoZ所说 大概是这样的: var line=Console.ReadLine().Split(新[]

我没有测试过您的代码,也没有遇到过这个特定问题。但我有根据的猜测是,它正在将“”(空字符串)添加到您的列表中。我建议您在将每个条目添加到列表时将其打印到控制台。。。看看它在列表中添加了什么。然后,如果要修复它,请确保通过将其与“”进行比较并在发现add指令为空时跳过带有空字符串的条目


让我知道它是如何运行的。

您应该使用此拆分方法选项:
removemptyentries
以删除空字符串,正如@ZorgoZ所说

大概是这样的:

var line=Console.ReadLine().Split(新[]{''},StringSplitOptions.RemoveEmptyEntries)

使用此选项,您应该获得switch语句中的第一个case


您可以阅读有关

的更多信息,因为
Split
返回一个空字符串项。结果总是得到分隔符数+1项。在这种情况下,空格数(=0)+1=1项。
Split
将返回空字符串。使用重载
Split(新[]{''},StringSplitOptions.RemoveEmptyEntries)using System;
using System.Collections.Generic;

namespace Program
{
    class Pro
    {
        static void Main (string[] args)
        {
            var names = new List<string>();
            var Line = Console.ReadLine().Split();

            foreach (var item in Line)
            {
                names.Add(item);
            }

            switch (names.Count)
            {
                case 0:
                    Console.WriteLine();
                    break;
                case 1:
                    Console.WriteLine(names[0] + "Likes your post");
                    break;
                case 2:
                    Console.WriteLine(names[0] + "and" + names[1] + "Likes your post");
                    break;
                default:
                    Console.WriteLine(names[0] + " and " + names[1] + " and "
                        + (names.Count - 2)+"Likes your post");
                    break;
            }
        }
    }
}