Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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# 外部方法中的for循环无效_C#_For Loop_Methods - Fatal编程技术网

C# 外部方法中的for循环无效

C# 外部方法中的for循环无效,c#,for-loop,methods,C#,For Loop,Methods,C#以以下格式编写任意单词的程序: 随便给一个词,例如:学生人数 答:学生人数 class Program { static void Main(string[] args) { Console.WriteLine("Enter few words: "); var sentence = Console.ReadLine(); var Answer = Method(sentence); Console.WriteL

C#以以下格式编写任意单词的程序: 随便给一个词,例如:学生人数 答:学生人数

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Enter few words: ");
        var sentence = Console.ReadLine();
        var Answer = Method(sentence);
        Console.WriteLine(Answer);
        Console.WriteLine("  ");
    }

    public static string Method(string sentence)
    {
        var words = sentence.Split(' ');
        string answer = null; 

        for (int i = 0; i <= words.Count() - 1; i++)
        {
            var First = words[i].Substring(0, 1);
            var Rest = words[i].Substring(1);
            var Cap = First.ToUpper();
            var low = Rest.ToLower();
            answer = Cap + low;
            return answer;
        }
        return null;
    }
类程序
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“输入几个单词:”);
var语句=Console.ReadLine();
var答案=方法(句子);
控制台。写线(应答);
控制台。写线(“”);
}
公共静态字符串方法(字符串语句)
{
变量词=句子分割(“”);
字符串应答=null;
对于(int i=0;i这一行:

return answer;
在第一次迭代后结束循环。它从方法返回。 您需要做的是有第二个变量,您可以使用它在转换后的每次迭代中添加
answer

// before the loop:
string wholeWord = "";

// last line of loop
wholeWord += answer;
最后,您当然应该返回
wholeWord

尝试以下操作

public static string Method(string sentence)
    {
        var words = sentence.Split(' ');
        string answer = "";

        for (int i = 0; i <= words.Count() - 1; i++)
        {
            var First = words[i].Substring(0, 1);
            var Rest = words[i].Substring(1);
            var Cap = First.ToUpper();
            var low = Rest.ToLower();
            answer += Cap + low;               
        }
        return answer;
    }
公共静态字符串方法(字符串语句)
{
变量词=句子分割(“”);
字符串答案=”;

对于(int i=0;i,您可以简单地用此代码替换这些行

    var sentence = Console.ReadLine();
    string input = sentence;
    string[] sentenses = input.Split(' ');
    StringBuilder s = new StringBuilder();
    foreach(var sent in sentenses) {                
   s.Append(System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(sent));
    }
    Console.WriteLine(s.ToString());
    Console.WriteLine("  ");

在调试器中逐步检查您的代码,检查每个变量,您将看到您做错了什么。调试将比在此处编写问题快得多;)您能简单地告诉我应该如何做吗?谢谢。