Nous ne savons pas ce que la valeur initiale de result
est ce qui rend cette délicate, mais en supposant que vous en fait je veux juste une liste séparée par des espaces, je ferais ceci:
var query = from DataRow row in result.Rows
let remarks = row["REMARKS"].ToString()
where remarks == "Passes" || remarks == "Promoted"
select row["ROLL_NO"].ToString();
string results = string.Join(" ", query);
(Notez que DataTable
n'implémente pas IEnumerable<DataRow>
, ce qui est la raison pour laquelle je l'ai utilisé une variable de portée explicitement typé. une alternative serait d'appeler result.Rows.AsEnumerable()
et faire row
est implicitement typé.)
La ligne finale suppose .NET 4, qui a plus de surcharges pour string.Join
que les versions antérieures. Dans le cas contraire, cela le ferait:
string results = string.Join(" ", query.ToArray());
Bien sûr, si vous utilisez LINQ alors vous pouvez bien vouloir se éloigner de DataTable
etc pour commencer et utiliser LINQ to SQL, Entity Framework, NHibernate ou tout les autres options disponibles :)
Merci les gars .. qui vous a été vraiment rapide ppl .. –