Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Regex在将表达式动态添加到列表中时出错_C#_.net_Regex - Fatal编程技术网

C# Regex在将表达式动态添加到列表中时出错

C# Regex在将表达式动态添加到列表中时出错,c#,.net,regex,C#,.net,Regex,我正在尝试编写一些动态代码,其中每个控件的值都将通过附加到它的一组正则表达式 为了实现这一点,我创建了一个XML,它将表示所有正则表达式都将应用于它的值。示例XML: <control name="firstname"> <validationtype ="regex:'. "> <validationtype ="regex:a-zA-Z"> </control> 当尝试在列表中添加类似“''”的正则表达式时,上面的代码将对象引用未设置为对象错

我正在尝试编写一些动态代码,其中每个控件的值都将通过附加到它的一组正则表达式

为了实现这一点,我创建了一个XML,它将表示所有正则表达式都将应用于它的值。示例XML:

<control name="firstname">
<validationtype ="regex:'. ">
<validationtype ="regex:a-zA-Z">
</control>
当尝试在
列表中添加类似“''”的正则表达式时,上面的代码将
对象引用未设置为对象错误的实例

感谢你的指点

更新:所以有些人实际上偏离了我的要求:这就是我想要的

我有一个字符串数组,其中存储了另一个程序传递的所有正则表达式。程序将值传递为“
regex:A-zA-z
”、“
regex:0-9
”、“
regex:.
”等

我想通过拆分程序传递的值,将所有表达式存储到
List
对象中。所以,在我的列表中,我想存储“a-zA-z”、“0-9”等。
但是,它正在抛出未设置为实例的对象引用“

这是因为您在foreach中编写了:
foreach(vaildationtype中的var项)


您拼错了“validationtype”

什么是
vaildationtype
?属性
项在哪里。文本
已初始化?,请发布可编译代码:
验证。添加(…
@MongZhu我知道空引用异常。更新了问题。validationtype只是我根据需要从XML中提取的XML节点。我想,让我只复制支持我的问题所需的内容,而不是整个程序。@MongZhu我已经搜索了internet,没有找到任何内容,因此问题就在这里。呵呵ping以获取帮助我们不需要整个程序。您需要调试应用程序来解决此问题,就像它是以副本形式编写的一样。从您的帖子中,我了解到这一行:
validations.add(item.text.split(“:”)[1]);
抛出异常。但您说这只是伪代码。由于信息有限,我们无法帮助您,当然也无法为您调试程序。@DirtyDeveloper您的编辑没有添加任何新内容;您没有提供足够的信息来获得实际帮助。1)请阅读如何创建。2)请遵循链接文章中提供的指导;通过放置一些断点并单步执行代码开始调试代码。拼写错误会导致编译错误,而不会导致运行时错误,例如异常。他并不总是在XML文件中查找类型,即使在编译时,程序也不知道他是否正确t、 这就像在一个程序中调用一个IP地址,在你调用它之前,程序无法知道IP是否可用。你在foreach循环调用中谈论的是变量名,除非有这样一个拼写完全错误的变量,否则它将产生一个编译错误。你回答的要点与此无关xml@MongZhu日分ddy,我刚刚粘贴了一段代码。看看我的实际情况question@CyrilKrzyzowski这只是一段代码片段,psudo代码。
List<string> validations = new List<string>();
foreach(var item in vaildationtype)
{
  if(item.contains("regex:")
  {
   validations.add(item.text.split(':')[1]);
  }
}