C# 如何修复名称';名称'&';价值';在当前上下文中不存在
我是C#的新手,我完成了一项任务,在这项任务中,我们必须创建计数器类,并使用它来创建和使用计数器对象。我遇到了一个无法解决的错误 当前上下文中不存在名称“name”和“Value” 我必须告诉控制台,用“{0}是{1}”的格式写一行,以及向c询问其名称的结果和向c询问其值的结果 我有一种感觉,它与名称和值的范围有关,但经过多次尝试,我仍然无法找出我的错误所在 文件名Program.csC# 如何修复名称';名称'&';价值';在当前上下文中不存在,c#,C#,我是C#的新手,我完成了一项任务,在这项任务中,我们必须创建计数器类,并使用它来创建和使用计数器对象。我遇到了一个无法解决的错误 当前上下文中不存在名称“name”和“Value” 我必须告诉控制台,用“{0}是{1}”的格式写一行,以及向c询问其名称的结果和向c询问其值的结果 我有一种感觉,它与名称和值的范围有关,但经过多次尝试,我仍然无法找出我的错误所在 文件名Program.cs namespace CounterTest { public class MainClass {
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;
}
}
}
感谢您提供的任何帮助。更改
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
到
您还可以使用C#6或更高版本中提供的字符串插值,如下所示:
Console.WriteLine($"Name is: {c.Name} Value is: {c.Value}");
改变
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
到
您还可以使用C#6或更高版本中提供的字符串插值,如下所示:
Console.WriteLine($"Name is: {c.Name} Value is: {c.Value}");
由于使用了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}");
}
由于使用了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}");
}
问题是,您没有在代码中指定“名称”和“值”的来源,这就是为什么会出现该错误
foreach ( Counter c in counters)
{
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
}
在foreach循环中,从“counters”数组中获取单个“c”元素。之后,您应该通过编写“c.Name”和“c.Value”来指定“Name”和“Value”是“c”的属性。问题在于您没有在代码中指定“Name”和“Value”的来源,这就是为什么会出现该错误
foreach ( Counter c in counters)
{
Console.WriteLine("Name is: {0} Value is: {1}", Name, Value);
}
在foreach循环中,从“counters”数组中获取单个“c”元素。然后你应该通过写“c.Name”和“c.Value”来指定“Name”和“Value”是“c”的属性。你在开玩笑吧,就是这么简单。非常感谢,这已经解决了我的问题。如果可能的话,我一定会接受你的回答。@TKeys23我们有时会错过一些小事情,这就是为什么SO在这里帮助我们所有人!很高兴我能帮上忙。有一个想法,@TKeys23似乎是新的贡献者,如果你能解释为什么要用
c.
而不是Name
和Value
的话,它会在你的答案上加糖。你在开玩笑吧,就是这么简单。非常感谢,这已经解决了我的问题。如果可能的话,我一定会接受你的回答。@TKeys23我们有时会错过一些小事情,这就是为什么SO在这里帮助我们所有人!很高兴我能帮上忙。一个想法,@TKeys23似乎是一个新的贡献者,如果你能解释为什么要使用c而不是Name
和Value
,它会给你的答案增加甜头。这个答案解释了为什么在foreach循环中使用c
。这个答案解释了为什么在foreach循环中使用c
。