小编The*_*oss的帖子

主要方法代码完全在try/catch中:这是不好的做法?

通常我将所有Main方法代码放在try/catch块中,如下所示:

public static void Main(string[] args)
{
   try
   {
      // code
   }
   catch (Exception e)
   {
      // code
   }
}
Run Code Online (Sandbox Code Playgroud)

我这样做是为了防止任何异常设法从程序逻辑的其余部分中滑出,从而允许我对它做一些事情,例如将其显示到控制台,将其记录到文件等等.但是,我被告知这是不好的做法.

你认为这是不好的做法吗?

c# oop programming-languages exception-handling try-catch

31
推荐指数
2
解决办法
9461
查看次数

定义抽象方法而不指定参数

我正在用抽象方法编写一个抽象类(因此,从它继承的所有类都必须实现该方法).但是,我不想指定方法必须使用的参数,因为每个方法可能采用不同的参数或不参数.只有名称和返回值应该相同.

有没有办法在C#中做到这一点?

谢谢你的帮助!

c#

14
推荐指数
1
解决办法
1万
查看次数

用于提取脚本标签的正则表达式

我试图在C#中编写一个正则表达式来删除所有脚本标记及其中包含的任何内容.

到目前为止,我已经提出以下内容:\<([^:]*?:)?script\>[^(\</<([^:]*?:)?script\>)]*?\</script\>但是这不起作用.

我将分解并在每个部分解释我的想法:

\<([^:]*?:)?script\>
Run Code Online (Sandbox Code Playgroud)

在这里,我试图声明它应该获取任何脚本元素,即使它以命名空间为前缀,比方说,<a:script></a:script>.我也将它添加到结束标记.

[^(\</<([^:]*?:)?script\>)]*?
Run Code Online (Sandbox Code Playgroud)

在这里,我想指出,这应该让任何东西包含除了在标签内</a:script>,</script>等等.

\</script\>
Run Code Online (Sandbox Code Playgroud)

在这里,我声明它应该有一个结束标记.

谁能发现我哪里错了?

c# regex

6
推荐指数
2
解决办法
8179
查看次数

C#XPathSelectElement返回null

我试图使用System.Xml.XPath命名空间的XPathSelectElement方法但由于某种原因它总是返回null,我不知道为什么.

这是代码:

TextReader stream = new StreamReader("config.ini");
XmlReader reader = XmlReader.Create(stream);
XElement xml = XElement.Load(reader);

XElement file = xml.XPathSelectElement("Config/File");
Run Code Online (Sandbox Code Playgroud)

这是它试图读取的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<Config>
 <File>serp_feed.xml</File>
</Config>
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西(添加命名空间表,更改XPath等),但没有任何作用!

有任何想法吗?

c# xpath

5
推荐指数
1
解决办法
3298
查看次数

术语之前或之后没有字母数字字符的术语

我正在尝试编写一个匹配指定单词的所有出现的正则表达式,但不能有任何前缀或后缀的字母数字字符.

例如,搜索术语"cat"不应返回"催化剂"之类的术语.

这是我到目前为止:

"?<!([a-Z0-9])*?TERMPLACEHOLDER?!([a-Z0-9])*?"
Run Code Online (Sandbox Code Playgroud)

这应该单独返回"TERMPLACEHOLDER"这个词.

有任何想法吗?

谢谢.

regex

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