C# 如何将形状转换为字符串、整数等。。。?

C# 如何将形状转换为字符串、整数等。。。?,c#,.net,wpf,C#,.net,Wpf,我有一个矩形类型的方法,它需要返回: 正确: 传递给方法的矩形的名称 其他: 矩形的宽度和高度 这是方法:public Rectangle ReturnStuff(Rectangle rect){…stuff…} 我试过很多东西,例如(矩形)rect.ToString();ConvertToString/Int()。。。 但似乎什么都不管用 有什么建议吗 谢谢 该“方法”是一个构造函数 重写对象ToString(),并按您想要的方式实现它。从另一个班级叫它 public override

我有一个矩形类型的方法,它需要返回:

正确:

  • 传递给方法的矩形的名称
其他:

  • 矩形的宽度和高度
这是方法:
public Rectangle ReturnStuff(Rectangle rect){…stuff…}

我试过很多东西,例如(矩形)rect.ToString();ConvertToString/Int()。。。 但似乎什么都不管用

有什么建议吗

谢谢

该“方法”是一个构造函数

重写对象
ToString()
,并按您想要的方式实现它。从另一个班级叫它

public override string ToString()
{
    return "Rectangle";
}
可能需要返回宽度、高度等内容

编辑:

由于您已经将questionf从一个复制构造函数更改为一个返回类型为Rectangle的方法,我可能应该澄清一下

如果要传入矩形,请执行以下操作:(不知道为什么在方法末尾有分号…)

现在如果这不是你想要的,而是你想要得到一个矩形(通过传入一个矩形?我不知道为什么-除非你以某种方式操纵它),你必须实际返回一个矩形类型的对象

public Rectangle ManipulateRectangle(Rectangle rect) 
{
    var newRectangle = new Rectangle();
    newRectangle.SetWidth(rect.GetHeight()); //ex manipulation

    return newRectangle;
}
仅供参考,试着让你的问题更具体一点:)这很有帮助。还应该包括方法的名称、属于它们的代码以及您想要做的事情

该“方法”是一个构造函数

重写对象
ToString()
,并按您想要的方式实现它。从另一个班级叫它

public override string ToString()
{
    return "Rectangle";
}
可能需要返回宽度、高度等内容

编辑:

由于您已经将questionf从一个复制构造函数更改为一个返回类型为Rectangle的方法,我可能应该澄清一下

如果要传入矩形,请执行以下操作:(不知道为什么在方法末尾有分号…)

现在如果这不是你想要的,而是你想要得到一个矩形(通过传入一个矩形?我不知道为什么-除非你以某种方式操纵它),你必须实际返回一个矩形类型的对象

public Rectangle ManipulateRectangle(Rectangle rect) 
{
    var newRectangle = new Rectangle();
    newRectangle.SetWidth(rect.GetHeight()); //ex manipulation

    return newRectangle;
}

仅供参考,试着让你的问题更具体一点:)这很有帮助。还应该包括方法的名称、属于它们的代码以及您想要做的事情

这种方法看起来有些奇怪

public Rectangle (Rectangle rect) {};
在我看来,这个构造函数应该从另一个
矩形创建一个
矩形

如果要返回矩形的名称,则需要以下内容:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;
如果constructor打算复制传入的矩形,那么您需要以下内容:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;

这种方法看起来有些奇怪

public Rectangle (Rectangle rect) {};
在我看来,这个构造函数应该从另一个
矩形创建一个
矩形

如果要返回矩形的名称,则需要以下内容:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;
如果constructor打算复制传入的矩形,那么您需要以下内容:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;

不能从一个方法返回三个值(名称、高度和宽度)

调用代码需要使用返回的
矩形
上的属性(如果它们可用),或者方法可以返回包含详细信息的
元组。该方法还可以使用
out
参数向调用代码返回值

到目前为止,就设计和可读性而言,最好的选择是返回的“矩形”上的第一个一次性属性

因此,调用代码可能类似于:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;

不能从一个方法返回三个值(名称、高度和宽度)

调用代码需要使用返回的
矩形
上的属性(如果它们可用),或者方法可以返回包含详细信息的
元组。该方法还可以使用
out
参数向调用代码返回值

到目前为止,就设计和可读性而言,最好的选择是返回的“矩形”上的第一个一次性属性

因此,调用代码可能类似于:

public string RectangleName (Rectangle rect)
{
    return rect.ToString();
}
public Rectangle (Rectangle rect)
{
    this.name = rect.name;
    this.width = rect.width;
    this.height = rect.height;
}
Rectangle rect1 = ???
Rectangle newRect = ReturnStuff(rect);
string name = newRect.ToString();
int width = newRect.Width;
int height = newRect.Height;

呃,那个特殊的构造函数叫做复制构造函数。谢谢,巴德,这正是我想要的(最后一个例子)!是的,我应该而且会让我的问题更具体-第一次在这里,所以请容忍我。很高兴我能帮助你,如果这是答案,你可以随时点击箭头下方的绿色按钮向我表示感谢。呃,这个特定的构造函数被称为复制构造函数。谢谢,巴德,这正是我想要的(最后一个例子)!是的,我应该而且会让我的问题更具体-第一次在这里,所以请容忍我。很高兴我能帮助你,如果这是答案,你可以随时点击箭头下方的绿色按钮向我表示感谢。你的问题不太有意义。方法没有类型,但可以有返回类型。你到底是如何使用这种方法的?您是只想将信息打印为字符串,还是希望将高度和宽度作为要使用的值。为什么不直接使用矩形对象的属性?它们不需要强制转换字符串来键入矩形??(我希望不是…)矩形返回stuff(矩形rect){…stuff…};(编辑了原文)。忘记了方法名,现在是凌晨3点:)它不是下面提到的构造函数(我犯了错误)。基本上,正如我所提到的,矩形被传递到一个方法中,这个方法对它做了一些事情,它需要打印出传入矩形的名称、高度和宽度。对于内特来说,我希望有一个类似于石膏的模型,矩形物体的定义是什么。是标准的.Net版本还是其他版本。此外,如果要打印出名称、高度和宽度,为什么要返回矩形对象。你的问题没有道理。你说分配给你的是什么意思?您试图将信息返回到何处。您是否正在尝试将信息打印到控制台或s