gpt4 book ai didi

c# - 无法将数字添加到列表中

转载 作者:行者123 更新时间:2023-11-30 22:55:20 25 4
gpt4 key购买 nike

我正在尝试将 main 函数中给出的元素存储到 textinput 类的列表中并将其回显。数字输入类用于过滤存储的元素仅为数值。我希望输出仅为 10,因为数字输入类的目的是过滤掉字母“a”。但是,我遇到了一些错误,例如预期文件结尾和缺少“{”和“}”。我检查了我是否遗漏了其中一些,但我找不到任何遗漏的。另外,我这样做对吗,因为我是这门语言的新手,我需要一些关于如何纠正和改进它的建议。谢谢。

编辑:我根据收到的反馈编辑了我的代码,并出现了一些新的错误消息。错误如:-

The name 'add_char' does not exist in the current context.

The type or namespace name 'List<>' could not be found.

'TextInput' does not contain a definition for 'c' and no extension method 'c' accepting a first argument of type 'TextInput' could be found

EDIT2:所以在导入 System.Collections.Generic 并将列表更改为 protected 后,我遇到了其他错误,如屏幕截图所示:- Error Messages

代码:

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());
}
}

最佳答案

这一行阻止它被添加到列表中,因为 char 永远不是 int(char 和 int 是不同的类型):

if(GetValue(this.c).GetType() == typeof(int)){

改为:

if(char.IsNumber(c)){ add_char.Add(c);}

关于c# - 无法将数字添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313029/

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