0
我有2個列表集合。一個包含數字,其他名稱。有兩倍于姓名的數字(總是)。我想從集合中取出第一個名字,然後從其他集合中取出前兩個數字,然後將它們放在(VentriloUser)的第三個用戶集合中。然後第二個名字需要與第三個和第四個數字匹配等等。結合數字和名稱集合
我正在想一些for或foreach循環,但現在我無法把頭圍住它。
public class VentriloUser
{
public VentriloUser(string name, int seconds, int ping)
{
Name = name; Seconds = seconds; Ping = ping;
}
public string Name { get; set; }
public int Ping { get; set; }
public int Seconds { get; set; }
}
public class Ventrilo
{
public Ventrilo(string statusurl)
{
StatusURL = statusurl;
}
public string StatusURL { get; set; }
public string HTML { get; set; }
public List<VentriloUser> Users { get; set; }
private Regex findNumbers = new Regex("\\<td width=\"10%\" bgcolor=\"#\\w{6}\"\\>\\<font color=\"#000000\">\\<div style=\"overflow:hidden;text-overflow:ellipsis\"\\>-?\\d+\\<");
private Regex findNames = new Regex("\\<td width=\"20%\" bgcolor=\"#\\w{6}\"\\>\\<font color=\"#000000\">\\<div style=\"overflow:hidden;text-overflow:ellipsis\"\\>\\b\\w+\\<");
private WebClient wClient = new WebClient();
public void DownloadHTML()
{
HTML = wClient.DownloadString(StatusURL);
}
public List<int> GetNumbers()
{
var rawnumbers = findNumbers.Matches(HTML);
var numbers = new List<int>();
foreach (var rawnumber in rawnumbers)
{
var match = Regex.Match(rawnumber.ToString(), "\\>\\-?\\d+\\<");
string number = Regex.Replace(match.ToString(), "\\<|\\>", "");
numbers.Add(Convert.ToInt32(number));
}
return numbers;
}
public List<string> GetNames()
{
var rawnames = findNames.Matches(HTML);
var names = new List<string>();
foreach (var rawname in rawnames)
{
var match = Regex.Match(rawname.ToString(), "\\>\\w+<");
string name = Regex.Replace(match.ToString(), "\\<|\\>", "");
names.Add(name);
}
return names;
}
public List<VentriloUser> GenerateUsers()
{
var numbers = GetNumbers();
var names = GetNames();
var users = new List<VentriloUser>();
}
}
我是一個業餘愛好者,但希望有朝一日能從事事業。任何幫助深表感謝。感謝您的時間。
我添加構造函數VentriloUser。我不熟悉LINQ(我寧願使用它)。我相信你的例子只顯示1個名字加1個數字。我可能錯了。 – leetbit 2012-07-26 07:25:14
啊,我知道了......對不起,我以爲是2位同名用戶,但是Ping不同。這是一個用戶和2個數字(即平和秒),而不是...我要修改代碼... – digEmAll 2012-07-26 07:29:59
LINQ是真棒。 – leetbit 2012-07-26 07:37:04