gpt4 book ai didi

c# - C#中setter方法中的随机方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:17 24 4
gpt4 key购买 nike

我是 C# 新手。我想弄清楚如何在 setter 中使用随机方法。这就是我的代码现在的样子:

public class star_wars_figures
{
private string charactor;
private int bounty;

public star_wars_figures(string charactor)
{
Charactor = charactor; }

public string Charactor
{
get
{
return charactor.ToUpper();
}
set
{
if (value == "Han Solo" || value == "Leia")
{
charactor = value;
}
else charactor = "INCORRECT CHARACTOR!!!!";
}
}

public int Bounty
{
get
{
return bounty;
}
set
{
Random rnd = new Random();
bounty = rnd.Next(1, 10);
bounty = value;
}
}
}

在我的 main 中,我用以下实例化:

star_wars_figures sw1 = new star_wars_figures("Han Solo");
Console.WriteLine($"Character is: {sw1.Charactor}");
Console.WriteLine($"Money: {sw1.Bounty}");

我试图在 bounty 属性的 setter 方法中生成一个随机整数。它只是返回 0。

我在这里错过了什么?

最佳答案

“值”(您的最后一个赋值)是调用 setter 时收到的值。

目前“赏金”设置了两次:首先是您的随机生成器结果,然后是“值(value)”。因此,第一个值集丢失并且无法在任何地方使用。

您可以删除“bounty = value;”让它工作。尽管如此,属性 setter 并不是做你想做的事情的正确地方,我认为你对如何使用属性和支持字段有根本的误解。

关于c# - C#中setter方法中的随机方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58219468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com