-1

我在名字和姓氏处收到错误“冲突变量定义如下”。

此外,“从不使用局部变量 firstName,不能在此范围内声明名为 firstName 的局部变量....等”

编辑=这不是家庭作业,只是我正在使用的书中的一个练习。

http://pastebin.com/zNiuUCkd

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MethodsPractice
{
class Program
{
     static string SwitchName(string x, string y)
     {

         string firstName = x;
         string lastName = y;

         string temp = firstName;

        firstName = lastName;
        lastName = temp;

        string final = ("{0},{1}", firstName, lastName)



        return final;

    }


    static void Main(string[] args)
    {
        string nameReversed = "";
        string first = "Tim";
        string last = "Stern";
        nameReversed = SwitchName(first, last);

        Console.WriteLine(nameReversed);
        Console.ReadKey(true);

    }


   }
}

谢谢

4

2 回答 2

6

或者

 static string SwitchName(string firstname, string lastname)
 {
    return String.Format("{0},{1}", lastname, firstName)
 }
于 2013-08-27T22:55:45.203 回答
4

您的问题在以下行中:

string final = ("{0},{1}", firstName, lastName)

我怀疑您实际上需要的是以下内容:

string final = String.Format("{0},{1}", firstName, lastName);

这避免了你提到的错误。

请注意,正如另一个答案已经提到的那样,您的整个过程可以被重写。我也强烈建议重命名它;SwitchName不反映程序的功能。

于 2013-08-27T22:52:02.350 回答