C# 限制字符串列表添加
Hi stack overflow用户, 我已经用C#创建了一个功能齐全的刽子手游戏,现在在交作业之前,我正在打磨最后的部分。C# 限制字符串列表添加,c#,string,list,C#,String,List,Hi stack overflow用户, 我已经用C#创建了一个功能齐全的刽子手游戏,现在在交作业之前,我正在打磨最后的部分。 我决定创造三种不同的困难“简单”“中等”“困难”,而不是让用户选择生命的数量。 现在进入问题? 是否有功能将单词添加到单词列表中(然后通过一种方法随机选择)?我想限制用户添加到单词列表中的单词的最小和最大长度。 下面是我的词表类 using System; using System.Collections.Generic; class WordList { p
我决定创造三种不同的困难“简单”“中等”“困难”,而不是让用户选择生命的数量。
现在进入问题?
是否有功能将单词添加到单词列表中(然后通过一种方法随机选择)?我想限制用户添加到单词列表中的单词的最小和最大长度。
下面是我的词表类
using System;
using System.Collections.Generic;
class WordList
{
public static list <string>word = new list<string>();
public void Showwordlist()
{
word.sort();
foreach (string word in words)
{
console.WriteLine("- " + word);
}
}
public void Addwords(string input)
{
word.add(input);
}
}
使用系统;
使用System.Collections.Generic;
类词表
{
公共静态列表字=新列表();
public void Showwordlist()
{
word.sort();
foreach(单词中的字符串)
{
console.WriteLine(“-”+字);
}
}
公共void Addwords(字符串输入)
{
添加(输入);
}
}
添加检查,查看其是否满足最小长度,是否小于最大长度:
private int minimumLength = 4;
private int maximumLength = 20;
public void Addwords(string input)
{
if(input.Length >= minimumLength && input.Length <= maximumLength)
word.add(input);
else
MessageBox.Show("Word length must be between " + minimumLength +
@" and " maximumLength + " characters");
}
private int minimumLength=4;
私有int最大长度=20;
公共void Addwords(字符串输入)
{
如果(input.Length>=minimumLength&&input.Length=
和添加检查,查看其是否满足最小长度且小于最大长度:
private int minimumLength = 4;
private int maximumLength = 20;
public void Addwords(string input)
{
if(input.Length >= minimumLength && input.Length <= maximumLength)
word.add(input);
else
MessageBox.Show("Word length must be between " + minimumLength +
@" and " maximumLength + " characters");
}
private int minimumLength=4;
私有int最大长度=20;
公共void Addwords(字符串输入)
{
如果(input.Length>=minimumLength&&input.Length=
和像这样
public void Addwords(string input)
{
if(input.Length < minLength)
throw new Exception("Too Short"); // example only - throw a better exception
if(input.Length > maxLength)
throw new Exception("Too Long"); // example only - throw a better exception
word.add(input);
}
public void Addwords(字符串输入)
{
if(input.LengthmaxLength)
抛出新异常(“太长”);//仅示例-抛出更好的异常
添加(输入);
}
像这样吗
public void Addwords(string input)
{
if(input.Length < minLength)
throw new Exception("Too Short"); // example only - throw a better exception
if(input.Length > maxLength)
throw new Exception("Too Long"); // example only - throw a better exception
word.add(input);
}
public void Addwords(字符串输入)
{
if(input.LengthmaxLength)
抛出新异常(“太长”);//仅示例-抛出更好的异常
添加(输入);
}
您也可以使用正则表达式来限制单词中使用的字符以及长度。在下面的正则表达式中,只允许包含介于2到10个字符之间的大写和小写字母的单词
public void Addwords(string input)
{
Match match = Regex.Match(input, "^[a-zA-Z.]{2,10}$");
if (match.Success)
{
word.add(input);
}
}
您还可以使用正则表达式来限制单词中使用的字符以及长度。在下面的正则表达式中,只允许包含介于2到10个字符之间的大写和小写字母的单词
public void Addwords(string input)
{
Match match = Regex.Match(input, "^[a-zA-Z.]{2,10}$");
if (match.Success)
{
word.add(input);
}
}
只需在检查输入字符串长度的Addowrds()方法中添加功能即可。在Addwords
中,不要word.add(input);
如果input.length
太长或太短?您的问题更多的是“让用户知道哪里出了问题”kind?现在进入问题?
但您仍然没有问任何问题…这是如何“完全功能”的?控制台
,列表
和排序
没有正确大写,并且您没有捕获排序()的输出。
只需在Addowrds()中添加功能即可检查输入字符串长度的方法。在Addwords
中,不要word.add(input);
如果input.length
太长或太短?您的问题更多的是“让用户知道哪里出了问题”吗?现在要问问题了吗?
但您仍然没有问问题……这是如何“完全功能”的?控制台
、列表
和排序
未正确大写,并且未捕获排序()的输出
.Meh.我不确定我会抛出和异常,而不是像Cameron那样的东西。谢谢D Stanley对代码的出色解释。tnw,你介意解释一下异常与使用ex console相比的最大优点和缺点吗。写(“”);或messagebox?。我只是把它作为一个例子-如果添加了一个无效的单词,你需要决定你想做什么。这将决定一个异常或其他通知是否合适。对于一个无效的输入,你需要某种形式的反馈-是否是异常、messagebox、返回bool等等,这取决于你。Meh。我不确定我会做什么uld抛出和异常,而不是像Cameron那样。感谢D Stanley对代码的出色解释。tnw,您是否介意解释异常与使用ex console.write(“”)的最大优点和缺点;或messagebox?我只是把它作为一个例子-你需要决定如果添加了一个无效的单词,你要做什么。这将决定一个异常或其他通知是否合适。你需要对一个无效的输入进行某种反馈-是否是异常,messagebox,返回bool等等,这取决于你。嗨,Andy,谢谢r另一个例子,regex之间的区别是什么,他们在课程jet中没有谈论任何关于regex的内容。regex和???之间的区别?转到。这是阅读regex的一个很好的起点。什么时候使用en regex管理限制,什么时候使用变量,如min和max?嗨,安迪,感谢另一个例子,dif是什么参考regex,他们在课程jet中没有谈论任何关于regex的内容。regex和???之间的区别请访问。这是阅读regex的一个很好的起点。何时使用en regex来管理限制,何时使用诸如min和max之类的变量?谢谢Cameron,您的解决方案一路解决了这个问题。我真的很感激e详细解释的级别。我很高兴我能提供帮助!没问题。如果你意外投了反对票,你可以再次单击向下箭头或单击向上箭头收回你的反对票。谢谢Cameron,你的解决方案一路解决了问题。我真的很感谢详细解释的级别。我很高兴我能提供帮助!没有公关问题。如果你不小心投了反对票,你可以单击向下箭头收回你的反对票