Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
linq sort
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Conversation { public int userID; public string lastMessage; public List<Message> messages; public int messageCount; } public class Message { public string message; public DateTime messageDate; } public class Program { static List<Conversation> conversations=null; public static void AddConversation(int userID, string messageToAdd) { Conversation conversation=conversations.Where(u=>u.userID==userID).SingleOrDefault(); System.Threading.Thread.Sleep(200); if(conversation==null) { conversation=new Conversation(); conversation.userID=userID; conversation.messages=new List<Message>(); conversation.messages.Add(new Message {message=messageToAdd, messageDate=DateTime.Now.AddDays(new Random().Next(1,50))} ); conversations.Add(conversation); } else { conversation.messages.Add(new Message {message=messageToAdd, messageDate=DateTime.Now.AddDays(new Random().Next(1,50))} ); } } public static void Main(string[] args) { conversations= new List<Conversation>(); AddConversation(1,"message 1.1"); AddConversation(2,"message 2.1"); AddConversation(2,"message 2.2"); AddConversation(1,"message 1.2"); AddConversation(1,"message 1.3"); AddConversation(1,"message 1.4"); AddConversation(1,"message 1.5"); AddConversation(1,"message 1.6"); AddConversation(1,"message 1.7"); AddConversation(1,"message 1.8"); AddConversation(1,"message 1.9"); AddConversation(1,"message 1.10"); conversations = conversations.OrderBy(c=>c.userID).Select(x=> new Conversation() {userID=x.userID,messageCount=x.messages.Count, lastMessage=x.messages.OrderByDescending(m=>m.messageDate).FirstOrDefault().message, messages=x.messages.OrderByDescending(m=>m.messageDate).ToList()}).ToList(); foreach (var conversation in conversations) { Console.WriteLine("UserID# {0} \tTotal Messages# {1} \tLast Message # {2}", conversation.userID,conversation.messageCount, conversation.lastMessage); foreach (var message in conversation.messages) { Console.WriteLine("\t\t{0} :\t{1}", message.messageDate,message.message); } } } } }
run
|
edit
|
history
|
help
0
IMT
.heap sort
Decrypt Encrypt
Chris Kasongo Lazarius Mukengeshayi "Entelect BlackJack 21"
3
c# string abbreviation
Factorial using Recursion
Program.cs
contraseña
8