C#返回一个字符串方法

时间:2012-07-03 19:12:06

标签: c# string class methods return

我正在尝试将带有SalesPerson的{​​{1}}对象的字符串返回到主程序,但这不起作用。我做错了什么?

fullNameMethod

5 个答案:

答案 0 :(得分:11)

您当前正在尝试访问类似属性的方法

Console.WriteLine("{0}",x.fullNameMethod);

应该是

Console.WriteLine("{0}",x.fullNameMethod());

或者你可以使用

把它变成一个属性
public string fullName
{
   get
   {
        string x = firstName + " " + lastName;
        return x;
   }
}

答案 1 :(得分:0)

使用x.fullNameMethod()调用方法

答案 2 :(得分:0)

您没有必要的方法,您可以创建这样的属性:

class SalesPerson
{
    string firstName, lastName;
    public string FirstName { get { return firstName; } set { firstName = value; } }
    public string LastName { get { return lastName; } set { lastName = value; } }
    public string FullName { get { return this.FirstName + " " + this.LastName; } }
}

该课程甚至可以缩短为:

class SalesPerson
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName { 
       get { return this.FirstName + " " + this.LastName; } 
    }
}

然后可以像任何其他财产一样访问该属性:

class Program
{
    static void Main(string[] args)
    {
        SalesPerson x = new SalesPerson("John", "Doe");
        Console.WriteLine(x.FullName); // Will print John Doe
    }
}

答案 3 :(得分:0)

你最后忘记了()。它不是变量而是函数,当没有参数时,你仍然需要最后的()

对于未来的编码实践,我强烈建议稍微改进代码,这可能会令人沮丧:

 public string LastName
 { get { return lastName; } set { lastName = value; } }

如果在这里发生任何类型的处理,谢天谢地,这里不会发生,它会变得非常混乱。如果您要将代码传递给其他人,我建议:

public string LastName
{
  get 
  { 
     return lastName;
  } 
  set 
  { 
     lastName = value; 
  } 
}

它的时间要长得多,但在浏览大量代码时更容易阅读。

答案 4 :(得分:-1)

这些答案都太复杂了!他写这种方法的方式很好。问题是他调用了这个方法。他没有在方法名称后面加括号,所以编译器认为他试图从变量而不是方法中获取值。 在VB和Delphi中,这些括号是可选的,但在C#中,它们是必需的。 所以,要纠正原帖的最后一行, Console.WriteLine( “{0}”,x.fullNameMethod());