所以,也許我很累,但爲什麼我不能創建一個新的MatchCollection
?無法創建新的MatchCollection - 沒有定義構造函數
我有通過調用regex.Matches
返回MatchCollection
的方法:
public static MatchCollection GetStringsWithinBiggerString(string sourceString)
{
Regex regex = new Regex(@"\$\(.+?\)");
return regex.Matches(sourceString);
}
我想要做的是返回一個空集,如果該參數爲空:
public static MatchCollection GetStringsWithinBiggerString(string sourceString)
{
if (sourceString == null)
{
return new MatchCollection();
}
Regex regex = new Regex(@"\$\(.+?\)");
return regex.Matches(sourceString);
}
但贏得」 t因爲這一行彙編:
return new MatchCollection();
錯誤:
The type 'System.Text.RegularExpressions.MatchCollection' has no constructors defined.
如何定義類型沒有構造函數?如果沒有明確定義構造函數,我認爲會創建一個默認的構造函數。是否無法爲我的方法返回MatchCollection
創建新實例?
其實如果你定義一個參數的構造函數,你不能使用默認的構造函數了,除非你明確的聲明。 –
+1。 Ahhhh ......沒有考慮到非公開的構造函數。哎呀。謝謝。所以我不能返回一個空的'MatchCollection',除非我在他的回答中提到的BrunoLM做一些變通? –