如何从类返回字符串

本文关键字:返回 字符串 | 更新日期: 2023-09-27 18:32:23

我是 c# 的新手,我一直在玩它,但卡在从方法返回一些有用的东西时遇到了困难。任何帮助都会很棒。

我现在有这个:

Form1.cs

Animal NewAnimal = new Animal("Jack", "Ramp");

Animal.cs

public Animal(string Fname, string Lname)
        {
            if (Fname == "Jack" | Lname == "Ramp")
            {
                string FullName;
                FullName = Fname + " " + Lname;
                //return FullName; <--- This is what i tried but didn't work--->
            }
        }
        //return FullName; <--- And Also tried this it didn't work --->

也许从我尝试过的那些我做错了什么?如何将全名返回到 Form1.cs 并将其显示在标签中?

如何从类返回字符串

你想要这样的东西:

public class Animal
{
    public Animal(string fName, string lName)
    {
        this.FName = fName;
        this.LName = lName;
    }
    public string FName {get;set;}
    public string LName {get;set;}
    public string FullName
    {
        get
        { 
            return String.Format("{0} {1}", FName,LName);
        }
    }
}

在你的鞋子里,我会回顾一下在 C# 中指定类型的基础知识。

类型是字段、属性、方法和一些定义数据和行为的其他构造的用户定义(即您是用户)集合。

如果是您的特定情况,则需要考虑您正在实现的行为。

  • 将字符串馈送到新Animal
  • Animal获取该字符串

请考虑以下代码:

public class Animal { 
  public string FullName { get; }
  public Animal(string firstName, string lastName) { 
    this.FullName = firstName + " " + lastName; 
  }
}

然后,您可以检索实例化Animal的名称。

var animal = new Animal("Bob", "Smith"); 
// ... later
if (animal.FullName.Equals("Jack Ramp", StringComparison.CurrentCulture)); 
textBox.Text = animal.FullName; 

如果这让你有点迷茫,我建议在Microsoft类型概述。本文中有相当多的信息,但都是关于 C# 类型系统的重要信息。

您正在尝试从构造函数返回一个值...

请改为定义方法。

public string FullName(string Fname, string Lname)
{
if (Fname == "Jack" || Lname == "Ramp")
   {
                return Fname + " " + Lname;
    }
return "";
}

您拥有的方法称为Constructor。当您想要创建对象的新实例时,将调用它。尽管它在定义中没有返回类型,但它"返回"了对象的新实例(尽管您无法真正控制它)。

您期望的是具有另一个将返回值的公共方法或属性。

public class Animal
{
    public string Fullname {get; set;}
    public Animal(string Fname, string Lname)
    {
        if (Fname == "Jack" || Lname == "Ramp")
        {
            FullName = Fname + " " + Lname;
        }
}

然后使用以下命令:

Animal NewAnimal = new Animal("Jack", "Ramp");
var firstName = NewAnimal.FullName;

Yaur的答案会起作用,但为了更接近你似乎要求的内容,我会这样做(注意:这是Yaur代码的修改)

public class Animal
{
    public Animal(string fName, string lName)
    {
        this.FName = fName;
        this.LName = lName;
    }
    public string FName {get;set;}
    public string LName {get;set;}
    public override string ToString()
    {
        return String.Format("{0} {1}", FName,LName);
    }
}

你不能从构造函数返回一些东西。 您可以声明属性或公共字段,如下所示

class Animal {
public:
   string FullName;
    .....
}

然后,您可以通过NewAnimal.FullName访问FullName