转换词典<;字符串,字符串>;.KeyCollection到string[].Net 3.5
本文关键字:字符串 string Net gt lt 转换 KeyCollection | 更新日期: 2023-09-27 18:00:00
我正在尝试转换此AddressParser(http://usaddress.codeplex.com/)从.Net 4.0到.Net 3.5,我遇到了一个小问题。
我在下面的评论行中收到一个cannot convert from 'System.Collections.Generic.Dictionary<string,string>.KeyCollection' to 'string[]'
错误。它特别强调rangelessSecondaryUnits.Keys
任何帮助转换这将是美妙的!
private static Dictionary<string, string> rangelessSecondaryUnits =
new Dictionary<string, string>()
{
{ "BA?SE?ME?N?T", "BSMT" },
{ "FRO?NT", "FRNT" },
{ "LO?BBY", "LBBY" },
{ "LOWE?R", "LOWR" },
{ "OFF?I?CE?", "OFC" },
{ "PE?N?T?HO?U?S?E?", "PH" },
{ "REAR", "REAR" },
{ "SIDE", "SIDE" },
{ "UPPE?R", "UPPR" }
};
var rangelessSecondaryUnitPattern =
@"(?<SECONDARYUNIT>" +
string.Join(
"|",
string.Join("|", rangelessSecondaryUnits.Keys)) + //ERROR ON THIS LINE
@")'b";
移除一个string.Join
var rangelessSecondaryUnitPattern =
@"(?<SECONDARYUNIT>" +
string.Join("|", rangelessSecondaryUnits.Keys.ToArray()) +
@")'b";
除了ToArray
之外,您的错误是在.NET3.5中没有占用params string[]
的过载。但是,您的外部string.join
什么也没做,因为您的内部string.Join
正在返回一个字符串。