Ale*_*lex 5 .net c# linq asp.net twitter
我对C#编程很新,需要一些帮助.
我正在尝试将从JSON提要中收集的值分配给我自己的类型,我已经定义了将JSON元素放入其中的某些字段(属性),以及从RegEx模式匹配过程派生的元素.这将允许我使用LINQ访问该对象,因为我使用List来保存我的对象.
我的代码中有一个foreach循环,它为我的RegEx方法找到的每个匹配循环.我只对有匹配的JSON feed的部分感兴趣.
所以我自己定义的类是这样的:
//simple field definition class
public class TwitterCollection
{
public string origURL { get; set; }
public string txtDesc { get; set; }
public string imgURL { get; set; }
public string userName { get; set; }
public string createdAt { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后我想在RegEx Matches循环中填充List:
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
var tc = new List<TwitterCollection>()
{
origURL = groups[0].Value.ToString(),
txtDesc = res.text,
imgUrl = res.profile_image_url,
userName = res.from_user_id,
createdAt = res.created_at,
};
}
Run Code Online (Sandbox Code Playgroud)
然后代码将继续通过Linq to Objects提取和排序结果.但编译器实际上不会让我创建我的var tc = new List<TwitterCollection>()因为:'System.Collections.Generic.List'不包含'origURL'的定义......即使我已经定义了它.
如果我只是写,它不会标记错误但是我 new TwitterCollection如何在我的Linq表达式中引用它?
请帮忙!
Dav*_*d M 10
您需要在循环外实例化列表:
var list = new List<TwitterCollection>();
foreach (Match match in matches)
{
GroupCollection groups = match.Groups;
var tc = new TwitterCollection
{
origURL = groups[0].Value.ToString(),
txtDesc = res.text,
imgUrl = res.profile_image_url,
userName = res.from_user_id,
createdAt = res.created_at,
};
list.Add(tc);
}
Run Code Online (Sandbox Code Playgroud)
目前,您正在尝试为每个元素创建一个新列表.实际的编译错误是因为你的对象初始化器是针对一个TwitterCollection对象而不是它们的列表,但是无论如何都没有必要修复逻辑中的这个缺陷.
| 归档时间: |
|
| 查看次数: |
7445 次 |
| 最近记录: |