j'ai les déclarations de variables suivantes au sommet de ma fonction principaleLINQ avec des paramètres variables non affectés
string brand;
double price;
var itemList6 = from i in myStore.items
where i.price <= price && i.brand == brand
orderby i.type
select i;
Plus tard dans le programme que je demande à l'utilisateur d'une marque et un prix, les mettre dans les variables appropriées , puis exécutez la requête. Cependant, le compilateur ne me laissera pas exécuter ceci, parce que j'utilise des variables non assignées dans la requête. La seule façon de résoudre cela en initialisant les variables? J'essaie généralement de ne pas initialiser la variable si je n'ai pas besoin d'une valeur initiale car je la trouve confuse (essayant de comprendre plus tard où/pourquoi j'ai utilisé cette valeur par défaut).
La requête n'est pas entièrement construite tant qu'elle n'est pas exécutée. C'est l'exécution différée de LINQ. Je peux même (et je le fais) continuer à assigner des valeurs différentes aux variables et réexécuter la requête pour des résultats différents – baruch
@baruch: Vous avez raison. Je n'étais pas au courant de cette partie de l'exécution différée. Le point reste, vous devez initialiser une variable avant de l'utiliser, même si la variable n'est pas 'utilisée' par la construction de la requête. –