小编Fli*_*Top的帖子

正则表达式模式不匹配输入字符串

我需要找到一种限制数据输入的模式.我需要它来限制输入:

第一个字符必须是"S"第二个字符必须是"S","T","W","X"或"V"接下来的6个必须是0到9的数字.最后2个可以是任何大写字母或任何数字0 - 9

所以我的研究让我把它放在一起......

^[S][STWXV]/d{6}[A-Z0-9]{2}$

从我读到的:

[S]表示大写字母S仅 [STWXV]表示此列表中的任何一个字母 /d{6}表示6位数 [A-Z0-9]{2}表示任意2个字符A - Z或0 - 9

我不是在字符串中的任何地方寻找匹配,我需要整个字符串来匹配这个模式.

那么为什么Regex.IsMatch("SX25536101", "^[S][STWXV]/d{6}[A-Z0-9]{2}$")返回假?

我在某处显然出了问题,但这是我对正则表达式的第一次尝试,这没有任何意义:(

c# regex

4
推荐指数
1
解决办法
507
查看次数

Exception.Message V Exception.InnerException.Message

我目前正在记录错误,并希望获得最具描述性的详细信息.我知道我可以捕获许多不同类型的异常但是Exception.Message和之间有什么区别Exception.InnerException.Message

exception-handling exception

4
推荐指数
1
解决办法
1580
查看次数

在List <t>中查找并返回boolean(如果找到)

请原谅我的无知,有点像新手(但热情地到达那里)

public class MyType
{
    public string MyName;
    public string MyTown;
    public string MyJob;
}
Run Code Online (Sandbox Code Playgroud)

我有这种类型的列表:

List<MyType> myVar = new List<MyType>()
Run Code Online (Sandbox Code Playgroud)

现在我想基于此返回一个布尔值.所以例如:myVar包含MyName = "Bob"MyJob = "Taxi Driver"

我已经设法返回所有名称为"鲍勃"

var e = myVar.Where(x => x.MyName== "Bob").ToList();
Run Code Online (Sandbox Code Playgroud)

但我想做的事情如下:

bool mExists = (myVar.Where(x => x.MyName== "Bob" && MyJob="Taxi Driver").Count > 0) ? true : false;
Run Code Online (Sandbox Code Playgroud)

这可能吗?

c# linq

1
推荐指数
2
解决办法
5236
查看次数

标签 统计

c# ×2

exception ×1

exception-handling ×1

linq ×1

regex ×1