C# 如何使用用户输入填充数组而不在代码中指定数组长度

C# 如何使用用户输入填充数组而不在代码中指定数组长度,c#,java,arrays,algorithm,user-input,C#,Java,Arrays,Algorithm,User Input,所以我试图用用户输入填充一个字符数组。但是,我不想自己指定数组的长度,从而限制用户可以输入的数量。例如,我下面的代码只允许用户输入5个字符,然后退出。任何语言的代码都可以。(以下是C#) Console.Write(“输入您选择的字符数…单击1退出:”); 布尔存在条件; int计数器=0; 字符[]字符=新字符[5]; 做 { exitCondition=false; 尝试 { character[counter]=char.Parse(Console.ReadLine()); 如果(字符[计

所以我试图用用户输入填充一个字符数组。但是,我不想自己指定数组的长度,从而限制用户可以输入的数量。例如,我下面的代码只允许用户输入5个字符,然后退出。任何语言的代码都可以。(以下是C#)

Console.Write(“输入您选择的字符数…单击1退出:”);
布尔存在条件;
int计数器=0;
字符[]字符=新字符[5];
做
{
exitCondition=false;
尝试
{
character[counter]=char.Parse(Console.ReadLine());
如果(字符[计数器]='1')
exitCondition=true;
}
捕获(例外情况除外)
{
WriteLine(“错误:{0}”,例如Message);
}
计数器++;
}
while(exitCondition==false&&counter<5);

阵列的大小是静态的。使用可调整数组大小的
java.util.ArrayList
(来自集合框架)

List<Character> chars = new ArrayList<Character>();
chars.add('a');
chars.add('c');
chars.add('d');
List chars=new ArrayList();
chars.添加('a');
添加字符(“c”);
添加字符('d');
列表接口的可调整大小的数组实现。实现所有可选的列表操作,并允许所有元素,包括null。除了实现列表接口外,此类还提供了一些方法来操作内部用于存储列表的数组的大小


阵列的大小是静态的。使用可调整数组大小的
java.util.ArrayList
(来自集合框架)

List<Character> chars = new ArrayList<Character>();
chars.add('a');
chars.add('c');
chars.add('d');
List chars=new ArrayList();
chars.添加('a');
添加字符(“c”);
添加字符('d');
列表接口的可调整大小的数组实现。实现所有可选的列表操作,并允许所有元素,包括null。除了实现列表接口外,此类还提供了一些方法来操作内部用于存储列表的数组的大小


您需要使用一个集合,它允许元素集合增长或收缩。在Java中,
ArrayList
适合您的场景。在C语言中,您最有可能使用
列表

C#

List List=新列表();
列表。添加('a');
列表。添加('b');
Java

List<Character> list = new ArrayList<Character>();
list.add('a');
List List=new ArrayList();
列表。添加('a');

您需要使用一个集合,它允许元素集合增长或收缩。在Java中,
ArrayList
适合您的场景。在C语言中,您最有可能使用
列表

C#

List List=新列表();
列表。添加('a');
列表。添加('b');
Java

List<Character> list = new ArrayList<Character>();
list.add('a');
List List=new ArrayList();
列表。添加('a');

StringBuilder就是您所需要的一切

StringBuidler sb = new StringBuilder();
sb.append(c);
...
然后,如果您真的需要,可以从中获取char数组

char[] a = sb.toString().toCharArray();
虽然它通常只是转换成字符串

 String s = sb.toString()
还有一种方法可以直接使用StringBuilder内部字符[]

 char c = sb.charAt(i)

StringBuilder是您所需要的全部

StringBuidler sb = new StringBuilder();
sb.append(c);
...
然后,如果您真的需要,可以从中获取char数组

char[] a = sb.toString().toCharArray();
虽然它通常只是转换成字符串

 String s = sb.toString()
还有一种方法可以直接使用StringBuilder内部字符[]

 char c = sb.charAt(i)

或者,如果出于某种隐藏的原因确实希望只使用数组:),则可以向用户询问输入项的数量,并相应地初始化数组

谢谢,
海军

或者,如果您真的想出于某种隐藏的原因只使用数组:),那么您可以向用户询问输入项目的数量,并相应地初始化数组

谢谢,
海军

请用C#标记。爪哇=C#OP指定任何语言的
代码都可以。
我认为这可能是为了限制所提供代码的范围。请使用C#标记。爪哇=C#OP指定任何语言的
代码都可以。
我认为这可能是为了限制提供的代码的范围。好吧,有趣的是,我已经阅读了我相信的列表。您能发布列表的实现来解决我的问题吗?@sragavan
ArrayList
是列表的实现。它有
add
方法,您可以通过该方法向列表中添加值可以变成:
List chars=new ArrayList()@MrLore yap,称为钻石…:)好吧,有意思,我得仔细阅读我相信的名单。您能发布列表的实现来解决我的问题吗?@sragavan
ArrayList
是列表的实现。它有
add
方法,您可以通过该方法向列表中添加值可以变成:
List chars=new ArrayList()@MrLore yap,称为钻石…:)