|
|
Parcourir par tags
Tous les tags » LINQ » C#
Page 1 sur 4 (34 messages au total)
-
Ce quizz est un peu spécial car il est inclut dans ''un vrai post''.
Où placer le where ? Cette question a l'air très simple mais ce n'est pourtant pas si facile que ça.
Reprenons la solution que je propose sur le dernier quizz de Mitsu :
names.Select(n => (IEnumerable<char>)n).Aggregate((a, b) => a.Intersect(b)).Where(c => ...
-
Pour une fois je ne vais rien vous donner à coder. Juste une question concernant la réponse que je donne pour le Quizz 8 :
static IEnumerable<int> CommonBegining(IEnumerable<IEnumerable<int>> values)
{
return values.Aggregate((v1, v2) =>
{
IEnumerator<int> v2Enumerator = ...
-
Comme je l'ai dit dans les commentaires du Quizz 7, l'idée maintenant est de faire l'équivalent de ceci :
values.Aggregate((v1, v2) => v1.TakeWhile((v, index) => v2.Count() > index && v == v2.ElementAt(index)));
en utilisant un seul IEnumerator sur v2 pour chaque itération sur v1.
Enjoy
-
Dans mon Quizz précédent, je propose la solution suivante :
values.Aggregate((v1, v2) => v1.TakeWhile((v, index) => v2.Count() > index && v == v2.ElementAt(index)));
Simon n'a pas dût encore lire mon commentaire sinon il m'aurait déjà dit qu'en perf ce n'était pas bon.
Une des raisons qui fait que ce n'est pas bon ...
-
L'idée ici est de partir d'un IEnumerable<IEnumerable<T>> et de récupérer le début commun à tous les sous-IEnumerable :
class Program
{
static void Main(string[] args)
{
int[][] values = { new int[] { 1, 2, 3, 4, 5 }, new int[] { 1, 2, 3, 6, 7 }, new int[] { 1, 2, 8, 9 } };
foreach (int v in ...
-
Reprenons mon quizz 4 :
En C#3, comment faire une moyenne sans la méthode Average ni la méthode Sum ?
static void Main(string[] args)
{
int[] values = { 1, 2, 3 };
Console.WriteLine(Average(values));
}
static int Average(IEnumerable<int> values)
{
// Just code it
}
affichera 2.
Et rajoutons une contrainte : ...
-
En C#3, comment faire une moyenne sans la méthode Average ni la méthode Sum ?
static void Main(string[] args)
{
int[] values = { 1, 2, 3 };
Console.WriteLine(Average(values));
}
static int Average(IEnumerable<int> values)
{
// Just code it
}
affichera 2.
Enjoy
-
L'idée ici est de faire du C#3, pas du C#2, tant pis pour la perf, ce n'est pas le but ici.
On a un IEnuemrable<int> et on veut récupérer pour chaque valeur de notre IEnumerable le nombre maximum d'occurences succésives.
Le code suivant :
static void Main(string[] args)
{
var tab = new int[] { 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, ...
-
Dans le quizz précédent, ma méthode GetElementsInAllGroups retourne un IEnumerable<T>. Cependant dans certain cas je voudrais retourner un IEnumerable vide. Pour cela, j'avais utilisé un foreach couplé avec un yield return, Mitsu a eu l'idée astucieuse de retourner un tableau vide et Simon M. m'a fait découvrir le ...
-
Vu que j'ai un peu pitié de Simon qui n'a toujours pas eu le temps de répondre à un quizz de Mitsu , j'ai décidé de proposer moi-même des quizz.
Donc voici le premier. L'idée est de partir d'un IEnumerable<IEnumerable<T>> afin de récupérer tous les éléments distincts présents dans tous les sous-ensembles. Mais attention, il faut ...
1
|
|
|