Как реализуется общая ковариация и контра-дисперсия в C# 4.0?

Я не присутствовал на PDC 2008, но я слышал некоторые новости о том, что C# 4.0 объявлен для поддержки общей ковариации и контра-дисперсии. То есть, List<string> может быть назначено List<object>. Как такое может быть? в книге Джона Скита C# в глубину, объясняется, почему c# generics не поддержив...

C# 4.0: могу ли я использовать TimeSpan в качестве необязательного параметра со значением по умолчанию?

оба они генерируют ошибку, говоря, что они должны быть константой времени компиляции: void Foo(TimeSpan span = TimeSpan.FromSeconds(2.0)) void Foo(TimeSpan span = new TimeSpan(2000)) в первую очередь, может кто-нибудь объяснить, почему эти значения не могут быть определены во время компиляции? И есть ли сп...

Перегрузка оператора C# для`+='?

Я пытаюсь сделать перегрузку оператора +=, но я не могу. Я могу только сделать перегрузку оператора +. как же так? Edit причина, по которой это не работает, заключается в том, что у меня есть векторный класс (с полем X и Y). Рассмотрим следующий пример. vector1 += vector2; если моя перегрузка оператора ...

Делает Параллель.Объекту ограничить количество активных потоков?

учитывая этот код: var arrayStrings = new string[1000]; Parallel.ForEach<string>(arrayStrings, someString => { DoSomething(someString); }); будут ли все 1000 потоков появляться почти одновременно?...

Как получить первую запись в каждой группе с помощью Linq

учитывая следующие записи: Id F1 F2 F3 ------------------------------------------------- 1 Nima 1990 10 2 Nima 1990 11 3 Nima 2000 12 4 John 2001 ...

Способ расширения и динамический объект

Я собираюсь обобщить свою проблему в следующем фрагменте кода. List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 }; Console.WriteLine(list.First()); выше код работает нормально. теперь я попробовал следующее dynamic dList = list; Console.WriteLine(dList.First()); но я получаю RuntimeB...

Как работает статический конструктор?

namespace MyNameSpace { static class MyClass { static MyClass() { //Authentication process.. User needs to enter password } public static void MyMethod() { //Depends on successful completion of constructor } } class Prog...

Как удалить один конкретный объект из ConcurrentBag?

новая ConcurrentBag<T> в .NET 4, Как удалить определенный, конкретный объект из него, когда только TryTake() и TryPeek() доступны? Я думаю об использовании TryTake() а затем просто добавить полученный объект обратно в список, если я не хочу удалить его, но я чувствую, что я могу что-то упустить. Это пр...

Система.Во время выполнения.Кэширование.Многорычажка против строки httpruntime.Кэш - есть ли какие-либо различия?

мне интересно, есть ли какие-либо различия между MemoryCache и HttpRuntime.Cache, какой из них предпочтительнее ASP.NET проекты MVC? насколько я понимаю, оба потокобезопасны, API с первого взгляда более или менее одинаковы, так что есть ли разница, когда использовать какой?...

Нельзя использовать строку.Пустое значение по умолчанию для необязательного параметра

Я читаю Эффективный C# Билл Вагнер. В Пункт 14 - Минимизировать Дублирование Логики Инициализации, он показывает следующий пример использования новой функции необязательных параметров в конструкторе: public MyClass(int initialCount = 0, string name = "") обратите внимание, что он использовал "" вместо strin...