В этом случае, 'не символ комментария. Это используется для разграничивания строковых литералов. Комический художник полагается на идею, что рассматриваемая школа имеет динамический sql где-нибудь, который выглядит примерно так:
$sql = "INSERT INTO `Students` (FirstName, LastName) VALUES ('" . $fname . "', '" . $lname . "')";
Поэтому теперь' символ заканчивает строковый литерал, прежде чем программист ожидал его. Объединенный с; символ для окончания оператора взломщик может теперь добавить любой sql, который они хотят. - комментируют в конце, должен удостовериться, что любой остающийся sql в исходном операторе не препятствует тому, чтобы запрос компилировал на сервере.
FWIW, я также думаю, что у рассматриваемого комика есть важная деталь неправильно: если Вы думаете [приблизительно 111] очистка Ваши исходные данные базы данных, как комик предполагает, Вы все еще делаете ее неправильно. Вместо этого необходимо думать с точки зрения изоляция исходные данные базы данных и корректный способ сделать, это через параметризированные запросы.
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
}
Ключи в словаре различаются . По определению .
Итак myDict.Keys представляет собой отдельный список ключей.
Цикл по отдельным ключам и выполнение каких-либо действий с каждым значение ...
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() )
{
}
Если словарь определен как:
Dictionary<string,MyType> theDictionary = ...
Тогда вы можете просто использовать
var distinctKeys = theDictionary.Keys;
Здесь используется свойство Dictionary.Keys . Если вам нужен список, вы можете использовать:
var dictionaryKeysAsList = theDictionary.Keys.ToList();
Поскольку это словарь, ключи уже будут разными.
Если вы пытаетесь найти все отдельные значения (в отличие от ключей - это не было ясно в вопросе) в словаре вы можете использовать:
var distinctDictionaryValues = theDictionary.Values.Distinct(); // .ToList();