我是C#的新手,在完成一项任务的过程中,我们必须创建Counter类并使用它来创建和使用Counter对象。我遇到了无法解决的错误 名称“名称”和“值”在当前上下文中不存在。
我必须告诉控制台,将格式为{{0}为{1}“的WriteLine以及要求c为其名称的结果和要求c的值的结果。
我感觉它与名称和值的范围有关,但是经过多次尝试,我仍然无法弄清楚我要去哪里哪里
文件名Program.cs
namespace CounterTest
{
public class MainClass
{
private static void PrintCounters(Counter[] counters)
{
foreach ( Counter c in counters)
{
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
} **** Where I am receiving the error ^ ^
}
public static void Main(string[] args)
{
}
}
}
文件名Class1.cs
namespace CounterTest
{
public class Counter
{
private int _count;
public int Value
{
get
{return _count;}
}
private string _name;
public string Name
{
get
{return _name;}
set
{ _name = value; }
}
public Counter(string Name)
{ _name = Name;
_count = 0;}
public void Increment()
{
_count = _count + 1;
}
public void Reset()
{
_count = 0;
}
}
}
感谢您能提供的任何帮助。
答案 0 :(得分:5)
更改
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
收件人
Console.WriteLine("Name is: {0} Value is: {1}", c.Name, c.Value);
您还可以使用在C#6或更高版本中可用的字符串插值:
Console.WriteLine($"Name is: {c.Name} Value is: {c.Value}");
答案 1 :(得分:1)
问题是您没有在代码中指定“名称”和“值”的来源,这就是为什么会出现此错误。
.nav-item {
margin-right: 20px;
}
在foreach循环中,您从“计数器”数组中获取一个“ c”元素。然后,应通过编写“ c.Name”和“ c.Value”来指定“名称”和“值”是“ c”的属性。
答案 2 :(得分:0)
由于使用了foreach循环,因此可以通过使用点运算符轻松地使用对象属性
例如
foreach ( Counter c in counters)
{
Console.WriteLine("Name is: {0} Value is: {1}", c.Name, c.Value);
}
或者您可以使用字符串插值以提高可读性
foreach ( Counter c in counters)
{
Console.WriteLine($"Name is: {c.Name} Value is: {c.Value}");
}