c# - 无法添加到列表中的数字
问题描述
我正在尝试将 main 函数中给出的元素存储到 textinput 类的列表中并将其回显。数字输入类用于过滤被存储为仅数值的元素。我希望输出只有 10,因为数字输入类的目的是过滤掉字母“a”。但是,我遇到了一些错误,例如预期的文件结尾和缺少“{”和“}”。我检查了我是否错过了其中的一些,但我找不到任何丢失的。另外,我这样做是否正确,因为我是这门语言的新手,我需要一些关于如何纠正和改进它的建议。谢谢你。
编辑:我已经用我得到的反馈编辑了我的代码,并且出现了一些新的错误消息。错误如:-
当前上下文中不存在名称“add_char”。
找不到类型或命名空间名称“List<>”。
“TextInput”不包含“c”的定义,并且找不到接受“TextInput”类型的第一个参数的扩展方法“c”
EDIT2:因此,在导入 System.Collections.Generic 并将列表更改为受保护后,我遇到了其他错误,如屏幕截图所示:- 错误消息
代码:
using System;
using System.Collections.Generic;
public class TextInput {
protected List<char> add_char = new List<char>();
public void Add(char c){
add_char.Add(c);
}
public string GetValue(){
for (add_char.size = 0; add_char.size < 400; add_char.size++)
{
return c;
}
}
}
public class NumericInput:TextInput{
public new void Add(char c){
if(char.IsNumber(c)){
add_char.Add(c);
}else{
Console.WriteLine("This is not a number");
}
}
}
public class UserInput
{
public static void Main(string[] args)
{
TextInput input = new NumericInput();
input.Add('1');
input.Add('a');
input.Add('0');
Console.WriteLine(input.GetValue());
}
}
解决方案
当前上下文中不存在名称“add_char”。
因为它没有。 是在类的方法中add_char
声明的局部变量。局部变量只能在声明它们的方法范围内使用。您正在尝试以不同的方法(您的类的方法)使用它。也许您打算在? 的类级别声明它:Add
TextInput
Add
NumericInput
TextInput
protected List<char> add_char = new List<char>();
public void Add(char c)
{
//...
}
找不到类型或命名空间名称“List<>”。
using System.Collections.Generic;
在文件顶部添加。另请注意,Visual Studio 可以帮助您解决此问题。如果您在使用中放置光标或悬停鼠标,List<>
则应显示工具提示(带有一个小灯泡)以帮助纠正错误。
“TextInput”不包含“c”的定义,并且找不到接受“TextInput”类型的第一个参数的扩展方法“c”
因为它没有。 是在类的方法中c
声明的局部变量。局部变量只能在声明它们的方法范围内使用。当有人打电话时,你到底想回什么?该方法没有变量。通过上述更改,您可以移动到类级别,然后该方法可以访问它。Add
TextInput
GetValue()
add_char
推荐阅读
- python - 在 Python 中加入两个列表
- python - product_list() 得到了一个意外的关键字参数“product_id”
- android - 在 MVVM 架构中使用 DialogFragment 的正确方法是什么?
- javascript - 为什么返回结果为假?(在javascript函数中)
- swift - swiftUI 中的选取器正在从 Firestore 中选择文档 ID 而不是文档字段
- javascript - 在浏览器选项卡开关上重新播放 CSS 过渡。我怎样才能解决这个问题?
- javascript - 为什么我的按钮需要单击两次才能切换功能?JavaScript
- python - 你如何确定在 Tensorflow 中寻找什么卷积层?
- objective-c - 自动布局:无法同时满足约束。符号断点不显示错误信息
- android - 如何确保没有同时选中多个复选框?在科特林