Smrf.NodeXL.GraphMLLib.TwitterGraphMLUtil.TwitterUsersToUniqueScreenNames C# (CSharp) Method

TwitterUsersToUniqueScreenNames() public static method

public static TwitterUsersToUniqueScreenNames ( IEnumerable twitterUsers ) : HashSet
twitterUsers IEnumerable
return HashSet
    TwitterUsersToUniqueScreenNames
    (
        IEnumerable<TwitterUser> twitterUsers
    )
    {
        Debug.Assert(twitterUsers != null);

        HashSet<String> uniqueScreenNames = new HashSet<String>();

        foreach (TwitterUser twitterUser in twitterUsers)
        {
            uniqueScreenNames.Add(twitterUser.ScreenName);
        }

        return (uniqueScreenNames);
    }

Usage Example

        GetMentionsAndRepliesToScreenNames
        (
            Dictionary <String, TwitterUser> userIDDictionary
        )
        {
            Debug.Assert(userIDDictionary != null);

            HashSet <String> uniqueScreenNamesWhoTweetedSearchTerm =
                TwitterGraphMLUtil.TwitterUsersToUniqueScreenNames(
                    userIDDictionary.Values);

            HashSet <String> uniqueMentionsAndRepliesToScreenNames =
                new HashSet <String>();

            TwitterStatusTextParser twitterStatusTextParser =
                new TwitterStatusTextParser();

            foreach (TwitterUser twitterUser in userIDDictionary.Values)
            {
                foreach (TwitterStatus twitterStatus in twitterUser.Statuses)
                {
                    String    repliesToScreenName;
                    String [] uniqueMentionsScreenNames;

                    twitterStatusTextParser.GetScreenNames(twitterStatus.Text,
                                                           out repliesToScreenName,
                                                           out uniqueMentionsScreenNames);

                    if (
                        repliesToScreenName != null
                        &&
                        !uniqueScreenNamesWhoTweetedSearchTerm.Contains(
                            repliesToScreenName))
                    {
                        uniqueMentionsAndRepliesToScreenNames.Add(
                            repliesToScreenName);
                    }

                    foreach (String uniqueMentionsScreenName in
                             uniqueMentionsScreenNames)
                    {
                        if (!uniqueScreenNamesWhoTweetedSearchTerm.Contains(
                                uniqueMentionsScreenName))
                        {
                            uniqueMentionsAndRepliesToScreenNames.Add(
                                uniqueMentionsScreenName);
                        }
                    }
                }
            }

            return(uniqueMentionsAndRepliesToScreenNames.ToArray());
        }