семантика копии из auto_ptr
не совместимы с контейнерами.
А именно, копируя один auto_ptr
другому не создает два равных объекта, так как каждый потерял его владение указателя.
А именно, копируя auto_ptr
причины одна из копий для отпущения указателя. То, которое из них остается в контейнере, не определяется. Поэтому можно случайным образом потерять доступ к указателям, если Вы храните auto_ptrs
в контейнерах.
Вы не можете сделать это с помощью выражения запроса, но можете сделать это с явной точечной нотацией:
var result = fruits.OrderBy(f => f, StringComparer.CurrentCulture);
Это должно сработать, если текущая культура потока верна. В качестве альтернативы:
CultureInfo culture = new CultureInfo("sv-SE");
var result = fruits.OrderBy(f => f, StringComparer.Create(culture, false));