我有一堂课有几个public accessor
,其中一个是List<String> p {get; set;}
我的问题是,这个:
在实例化此类的代码中,我正在循环一个可以包含多行 p 的字符串,因此对于 pi 的每一行都希望将其添加到List<String> p
所以我试过这个:
instancenam.p.AddRange(string.Split(new char[] {':',':'})[2]);
这让我得到一个字符串中的第二组值包括:23A:TETCGR
当我运行代码时,出现以下两个错误:
错误一:
'System.Collections.Generic.List.AddRange(System.Collections.Generic.IEnumerable)' 的最佳重载方法匹配有一些无效参数
错误2:
参数 1:无法从 'string' 转换为 'System.Collections.Generic.IEnumerable'*
我已经用谷歌搜索了,但对回复感到困惑;-)
foreach (string str in lines) { // 需要检查长度是否大于 3 if (str != "4:" && str != " ") { // 存储标签名
if (str.StartsWith(":"))
{
tag = str.Split(new char[] { ':', ':' })[1];
SavedTag = tag;
switch (MessageType)
{
// Tag 13C Time Indication
if (tag == "13C")
{
mt202.tag13C.Add(str.Split(new char[] { ':', ':' })[2]);
}
break;
}
好的,所以命名为推荐我现在有以下内容。我的字符串包含多个标签:13C:
使用上面的添加我得到对象引用未设置为对象的实例
编辑:
public class MT202
{
public string tag20 { get; set; }
public string tag21 { get; set; }
public List<String> tag13C { get; set; }
public string tag32A { get; set; }
public string tag33B { get; set; }
}
// Code below is from the calling class
if (tag == "13C")
{
char[] delimiters = new char[] { ':', ':' };
string[] splitValues = str.Split(delimiters);
string singleValue = splitValues[2];
List<string> mt202.tag13C = new List<string>();
mt202.tag13C.Add(singleValue);
// mt202.tag13C.Add(str.Split(new char[] { ':', ':' })[2]);
}