Beispiel #1
0
        public void Run()
        {
            Dbg("Menu : LinkItem<String, String>", GetMenus());

            IEnumerable <NotificationUser> users = GetUsers();
            String delimitedString = NameValueItemExtensions.AsDelimitedString(users, u => u.Name, u => u.Email);

            Dbg("Delimited String", delimitedString);
            Dbg("NameValueList", NameValueItemExtensions.AsNameValueList(delimitedString));

            IList <String> emails = users
                                    .Where(u => !String.IsNullOrEmpty(u.Email))
                                    .Select(u => u.Email.ToLowerInvariant())
                                    .GroupBy(e => e).Select(g => g.First())
                                    .ToList();

            Dbg("ExDelimitedString", NameValueItemExtensions.AsExDelimitedString(emails, ";"));
            Dbg("ExDelimitedString", NameValueItemExtensions.AsExDelimitedString(emails, ";", s => s.ToString()));
            Dbg("ExDelimitedString", NameValueItemExtensions.AsExDelimitedString(emails, ";", s => NameValueItemExtensions.AsExDelimitedString(s, ",", ss => ss.ToString())));

            Dbg("ExDelimitAggregateedString", emails.Aggregate(String.Empty, (p, nxt) => p + (p == String.Empty ? String.Empty : ";") + nxt));

            Dbg("ExDelimitedString", NameValueItemExtensions.AsExDelimitedString(users, ";", ",", u => u.Name, u => u.Email));
            Dbg("ExDelimitedString", NameValueItemExtensions.AsExDelimitedString(users, ";", ",", u => u.Name, u => u.Email, u => u.Name, u => u.Name));
        }
Beispiel #2
0
            public static String AsExDelimitedString <T>(IEnumerable <T> tList, String itemDelimiter, String listDelimiter, params Func <T, String>[] tSelector) where T : class
            {
                IEnumerable <String> delimitedStringList = tList.Select(t => NameValueItemExtensions.AsExDelimitedString(t, itemDelimiter, tSelector));
                String delimitedString = String.Join(listDelimiter, delimitedStringList);

                return(delimitedString);
            }