У меня есть код ниже.
Строка string content = twitterMsg.text;
создает ошибку «Использование неназначенной локальной переменной» для twitterMsg.Кажется, я не могу получить доступ к своим полям TwitterSearchResponse.results.text
в моей коллекции DataContractJsonSerializer<TwitterMain>
.
TwitterSearchResponse.results
- это массив (набор свойств объекта) с несколькими строковыми полями, присоединенными с именами, такими как text
иuser_info
.
Может кто-нибудь помочь с этим ??
Обновлен код ниже.Я до сих пор не могу понять, почему я не могу правильно выполнить итерацию моего TwitterSearchResponse.results
и назначить content = twitterMsg.text
. Для чего он стоит, вот мой метод DataContractJsonSerializer:
String url = String.Format("http://search.twitter.com/search.json?q={0}&rpp=20", Server.UrlEncode(txtSearchFor.Text));
// parse the JSON data
using (MemoryStream ms = new MemoryStream(wc.DownloadData(url)))
{
DataContractJsonSerializer jsonSerializer =
new DataContractJsonSerializer(typeof(TwitterMain));
TwitterSearchResponse = jsonSerializer.ReadObject(ms) as TwitterMain; // read as JSON and map as TwitterOut
}
А вот оригинальный размещенный код, в котором лежит проблема.
public List<MatchCollection> returnMatches(DataContractJsonSerializer<TwitterMain> TwitterSearchResponse)
{
List<MatchCollection> messageLinks = new List<MatchCollection>();
foreach (TwitterResult twitterMsg in TwitterSearchResponse.results)
{
string content = twitterMsg.text;
// capture internet protocol pre-fixed words from message
string pattern = @"...";
messageLinks.Add(Regex.Matches(content, pattern, RegexOptions.IgnoreCase));
// capture @username twitter users from message
string atUsernamePattern = @"@([a-zA-Z0-9-_]+)";
MatchCollection PeopleMatches = Regex.Matches(content, atUsernamePattern, RegexOptions.IgnoreCase);
}
return messageLinks;
}