| Perfil de PaulioIT BytesBlogListasScraps | Ajuda |
|
|
07 de julho Linq recipe #3, flatten a dictionary of byte arrays into a single byte arrayDictionary<int, byte[]> binaryParts = new Dictionary<int, byte[]>(); ... // now combine the binary from all the parts by first sorting by key var flattenedList = binaryParts.OrderBy(p => p.Key).SelectMany(p => p.Value); byte[] combinedBytes = flattenedList.ToArray(); Linq recipe #2, Convert a CSV string of numbers into an array of numberse.g. for every (n) item in the array, apply the Convert function to it and return that as the nth item in the new array
int[] strongValues = Array.ConvertAll(csvString.Split(','), n => Convert.ToInt32(n)); Linq recipe #1 combining two enums into a single dictionary// Using Linq, ignore problems with jaggies List<int> keys = new List<int> { 1, 2, 3, 4, 5 }; List<string> data = new List<string> { "a", "b", "c", "d","e" };
Dictionary<int,string> combo = (from k in keys join d in data on keys.FindIndex(x => x==k) equals data.FindIndex(x2 => x2==d) select new {Key=k, Value=d} ).ToDictionary(de=>de.Key, de=>de.Value); foreach (var i in combo) { System.Diagnostics.Debug.WriteLine(i.Key + "," + i.Value); }
// Using lamda expression, doesn't allow jaggies Dictionary<int, string> UrisByProject = new Dictionary<int, string>(); List<int> nonZeroProjectIds = new List<int>() { 1, 2, 3, 4,5 }; List<string> urisForTheImage = new List<string>() { "a", "b", "c", "d", "e" }; nonZeroProjectIds.ForEach(p => UrisByProject.Add(p, urisForTheImage[nonZeroProjectIds.FindIndex(t => t == p)])); foreach (var i2 in UrisByProject) { System.Diagnostics.Debug.WriteLine(i2.Key + "," + i2.Value); } |
|
|