C#:如何检查这些字符串是否只包含数字和字母?(正则表达式)

C#:如何检查这些字符串是否只包含数字和字母?(正则表达式),c#,regex,string,C#,Regex,String,我有这样一个代码: // Add new adress static int New(ref List<string> adr, int index) { Console.Write("Nubmer "); string number= Console.ReadLine(); Console.Write("Prename"); string prename= Console.ReadLine(); Console.Write("Name"); string

我有这样一个代码:

// Add new adress
static int New(ref List<string> adr, int index)
{

    Console.Write("Nubmer "); string number= Console.ReadLine();
    Console.Write("Prename"); string prename= Console.ReadLine();
    Console.Write("Name"); string name= Console.ReadLine();
    Console.Write("Place "); string place= Console.ReadLine();
    Console.Write("Age "); string age= Console.ReadLine();
    Console.Write("Salary "); string salary= Console.ReadLine();

    Console.Write("\nDatensatz speichern? <j/n> "); string wahl = Console.ReadLine().ToUpper();

    if (wahl == "J")
    {
        string zeile = number + ";" + prename + ";" + name + ";" + place + ";" + age + ";" + salary ;
        adr.Add(zeile);

        File.WriteAllLines(@filename, adr);
        index++;
    }
    return index;
}
//添加新地址
静态整数新建(参考列表adr,整数索引)
{
Console.Write(“numer”);字符串编号=Console.ReadLine();
Console.Write(“Prename”);字符串Prename=Console.ReadLine();
Console.Write(“Name”);字符串名称=Console.ReadLine();
Console.Write(“Place”);字符串Place=Console.ReadLine();
Console.Write(“Age”);字符串Age=Console.ReadLine();
Console.Write(“Salary”);字符串Salary=Console.ReadLine();
Console.Write(“\nDenstatz speichern?”);字符串wahl=Console.ReadLine().TOUPER();
如果(wahl=“J”)
{
字符串zeile=number+“;“+prename+”;“+name+”;“+place+”;“+age+”;“+salary;
adr.Add(zeile);
writeAllines(@filename,adr);
索引++;
}
收益指数;
}
现在我要问你们,如果
字符串number、age、salary
只包含数字,而
字符串prename、name、place
只包含A-Z和A-Z的字母,最多20个字母,我如何检查


我听说了一些关于Regex的事,但我不明白。。感谢您的帮助:)。

您可以使用正则表达式-它是检查字符串是否匹配某些模式的正则表达式

仅对于数字,您可以使用此正则表达式:

^[0-9]+$
仅限信件:

^[A-Za-z]{1,20}$
因此,您的代码应该如下所示(例如):


对于字符串的长度,可以使用方法.length()

string test=“testing”;

如果(test.length()你能添加一个例子吗?@Thibs,请参见字母的编辑表达式,现在它检查字符串的长度。你可以在正则表达式中检查长度。请参见我的答案。
{1,20}
意味着长度应该从一个符号到二十个符号。您的选择也是正确的,但它是附加检查。我有点遗漏了这一点,我很抱歉!我刚开始使用stackoverflow作为会员,并急于加入。
using System.Text.RegularExpressions; //on the top

string regexPattern = "^[0-9]+$";
string testString = "123456";

if (Regex.IsMatch(testString, regexPattern))
{
    Console.WriteLine("String contains only digits and is valid");
}
else
{
    Console.WriteLine("String contains symbols other than digits or is empty or too long");
}
string test = "testing";

if(test.length() <=  20){}