Отличные Значения в Словаре <TKey, TValue>

В этом случае, 'не символ комментария. Это используется для разграничивания строковых литералов. Комический художник полагается на идею, что рассматриваемая школа имеет динамический sql где-нибудь, который выглядит примерно так:

$sql = "INSERT INTO `Students` (FirstName, LastName) VALUES ('" . $fname . "', '" . $lname . "')";

Поэтому теперь' символ заканчивает строковый литерал, прежде чем программист ожидал его. Объединенный с; символ для окончания оператора взломщик может теперь добавить любой sql, который они хотят. - комментируют в конце, должен удостовериться, что любой остающийся sql в исходном операторе не препятствует тому, чтобы запрос компилировал на сервере.

FWIW, я также думаю, что у рассматриваемого комика есть важная деталь неправильно: если Вы думаете [приблизительно 111] очистка Ваши исходные данные базы данных, как комик предполагает, Вы все еще делаете ее неправильно. Вместо этого необходимо думать с точки зрения изоляция исходные данные базы данных и корректный способ сделать, это через параметризированные запросы.

5
задан John Saunders 20 July 2009 в 19:40
поделиться

4 ответа

var distinctList = mydict.Values.Distinct().ToList();

В качестве альтернативы вам не нужно вызывать ToList ():

foreach(var value in mydict.Values.Distinct())
{
  // deal with it. 
}

Изменить: Я неправильно понял ваш вопрос и подумал, что вам нужны разные значения из словаря. Приведенный выше код обеспечивает это.

Ключи автоматически различаются. Так что просто используйте

foreach(var key in mydict.Keys)
{
  // deal with it
}
24
ответ дан 18 December 2019 в 05:40
поделиться

Ключи в словаре различаются . По определению .

Итак myDict.Keys представляет собой отдельный список ключей.

5
ответ дан 18 December 2019 в 05:40
поделиться

Цикл по отдельным ключам и выполнение каких-либо действий с каждым значение ...

foreach( dictionary.Keys )
{
    // your code
}

Если вы используете C # 3.0 и имеете доступ к LINQ:

Просто получение набора различных значений:

// you may need to pass Distinct an IEqualityComparer<TSource>
// if default equality semantics are not appropriate...
foreach( dictionary.Values.Distinct() )
{
}
2
ответ дан 18 December 2019 в 05:40
поделиться

Если словарь определен как:

Dictionary<string,MyType> theDictionary =  ...

Тогда вы можете просто использовать

var distinctKeys = theDictionary.Keys;

Здесь используется свойство Dictionary.Keys . Если вам нужен список, вы можете использовать:

var dictionaryKeysAsList = theDictionary.Keys.ToList();

Поскольку это словарь, ключи уже будут разными.

Если вы пытаетесь найти все отдельные значения (в отличие от ключей - это не было ясно в вопросе) в словаре вы можете использовать:

var distinctDictionaryValues = theDictionary.Values.Distinct(); // .ToList();
0
ответ дан 18 December 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: