d1e2e3 Ответов: 1

Привет я хочу, чтобы LINQ, которая Куэрри найти уникальный enrty в DataTable


clmn1 clmn2
а 1,2,3
б 5,6
с 1,6

я хочу

1,2,3,5,6

Что я уже пробовал:

я перепробовал так много методов, что это не сработало

1 Ответов

Рейтинг:
0

OriginalGriff

В принципе, не храните его так. Когда вы храните несколько значений в одном столбце, вы настраиваете себя на проблемы, потому что вам нужно "разбить" каждый столбец на набор значений, чтобы что-то с ними сделать.
Чтобы сделать то, что вы хотите, вам нужно использовать строку.Разделить, чтобы разбить каждое значение на отдельные элементы, затем объединить все элементы вместе и удалить дубликаты, прежде чем снова объединить их в одну новую строку.
That's cumbersome, and while it's OK for a small set of data like you have shown, in the real world it's a very inefficient operation because it generates a huge number of strings, each of which needs allocation. Even your example needs 3 original strings, 7 intermediate strings, and a final output string - 11 strings in total for just 3 lines of data. It very quickly builds up and becomes very unwieldy - and slooooow! And this is just for one simple operation you want to do on your data - you have to do this every time you do anything! For example, you need to check if any rows contain "166" - that's complicated, because again, you have to break down each row into it's parts and check for a specific value in any of those parts.

Я бы настоятельно рекомендовал вам вместо того, чтобы продолжать это, хорошенько посмотреть, откуда вы получаете свои данные, как они хранятся, и, вероятно, внести в них некоторые серьезные изменения, прежде чем вкладывать огромные усилия в взлом фундаментальных проблем, которые вы вводите!