Запитання з тегом «c#»

C # (вимовляється як "дивись чітко") - це мова програмування із багатопарадигмою високого рівня, розроблена корпорацією Майкрософт. Код C # зазвичай орієнтований на сімейство інструментів та час виконання Microsoft .NET, які включають, серед іншого, .NET Framework, .NET Core та Xamarin. Використовуйте цей тег для питань щодо коду, написаного в офіційній специфікації C # або C #.

7
За замовчуванням для KeyValuePair
У мене є об’єкт типу IEnumerable<KeyValuePair<T,U>> keyValueList, який я використовую var getResult= keyValueList.SingleOrDefault(); if(getResult==/*default */) { } else { } Як я можу перевірити, чи getResultце за замовчуванням, якщо я не можу знайти правильний елемент? Я не можу перевірити, є це nullчи ні, тому що KeyValuePairце структура.
392 c#  key-value 


11
Найкращий спосіб прочитати великий файл у байтовому масиві на C #?
У мене є веб-сервер, який буде читати великі двійкові файли (кілька мегабайт) у байтові масиви. Сервер міг би читати одночасно декілька файлів (різні запити на сторінці), тому я шукаю найбільш оптимізований спосіб зробити це без надто великого оподаткування процесора. Чи достатньо хороший код нижче? public byte[] FileToByteArray(string fileName) { byte[] …

15
Енум "Спадщина"
У мене є перелік у просторі імен низького рівня. Я хотів би надати клас або enum у просторі імен середнього рівня, які "успадковують" enum низького рівня. namespace low { public enum base { x, y, z } } namespace mid { public enum consume : low.base { } } Я …
391 c#  .net  enums 

3
Повертається значення, передане в метод
У мене є метод на інтерфейсі: string DoSomething(string whatever); Я хочу знущатися над цим MOQ, щоб він повертав все, що було передано - щось на зразок: _mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) ) .Returns( [the parameter that was passed] ) ; Будь-які ідеї?
390 c#  mocking  moq 

20
Чому на IEnumerable не існує методу розширення ForEach?
Натхненний ще одним запитанням про відсутність Zipфункції: Чому ForEachв Enumerableкласі немає методу розширення ? Або де завгодно? Єдиний клас, який отримує ForEachметод, - це List<>. Чи є причина, чому вона відсутня (виконання)?

14
Суб'єкт не може бути побудований у запиті LINQ to Entities
Існує тип сутності, який називається продуктом, який генерується структурою сутності. Я написав цей запит public IQueryable<Product> GetProducts(int categoryID) { return from p in db.Products where p.CategoryID== categoryID select new Product { Name = p.Name}; } У наведеному нижче коді випливає така помилка: "Суб'єкт або комплексний тип Shop.Product не може бути …

9
C # отримання шляху% AppData%
C # 2008 SP1 Я використовую наведений нижче код: dt.ReadXml("%AppData%\\DateLinks.xml"); Однак я отримую виняток, який вказує на місце, де працює моя програма: Не вдалося знайти частину шляху "D: \ Projects \ SubVersionProjects \ CatDialer \ bin \ Debug \% AppData% \ DateLinks.xml". Я думав, що %AppData%слід знайти відносний шлях. Коли …
387 c#  .net  path 

20
Чи можу я дізнатися значення повернення перед поверненням під час налагодження у Visual Studio?
Виконайте таку функцію: DataTable go() { return someTableAdapter.getSomeData(); } Коли я встановлюю точку розриву в цій функції, чи є можливість перевірити повернене значення? go()безпосередньо пов'язаний з мережею даних на .aspxсторінці. Єдиний спосіб перевірити повернуту таблицю даних - це використовувати тимчасову змінну. Однак це трохи незручно. Хіба немає іншого способу?

15
Асинхронно зачекайте, коли завдання <T> завершиться з таймаутом
Я хочу зачекати, коли завдання &lt;T&gt; завершиться деякими спеціальними правилами: якщо воно не закінчилося через X мілісекунд, я хочу відобразити повідомлення користувачеві. І якщо вона не закінчилася через Y мілісекунд, я хочу автоматично подати запит на скасування . Я можу використовувати Task.ContinueWith для асинхронного очікування завершення завдання (тобто планувати дію, …

19
Як отримати IP-адресу клієнта користувача в ASP.NET?
Ми повинні Request.UserHostAddressотримати IP-адресу в ASP.NET, але це зазвичай IP-адреса ISP користувача, а не точно IP-адреса машини користувача, яка, наприклад, натиснула посилання. Як я можу отримати реальну IP-адресу? Наприклад, у профілі користувача Stack Overflow це: "Остання активність облікового запису: 4 години тому від 86.123.127.8" , але IP-адреса моєї машини дещо …
387 c#  asp.net  client  ip-address 

12
Які рамки інжекційного введення .NET варто розглянути? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

18
Кастинг проти використання ключового слова "як" в CLR
Під час програмування інтерфейсів я виявив, що я роблю багато кастингу або перетворення типів об'єктів. Чи є різниця між цими двома методами перетворення? Якщо так, чи є різниця у вартості чи як це впливає на мою програму? public interface IMyInterface { void AMethod(); } public class MyClass : IMyInterface { …
386 c#  casting  clr 

10
Заздалегідь визначений тип "System.ValueTuple´2" не визначений та імпортований
Я встановив Visual Studio 15 Preview 3 і спробував використати нову функцію кортежу static void Main(string[] args) { var x = DoSomething(); Console.WriteLine(x.x); } static (int x, int y) DoSomething() { return (1, 2); } Коли я компілюю, я отримую помилку: Заздалегідь визначений тип "System.ValueTuple´2" не визначений та імпортований Відповідно …

7
Чи існують зомбі ... у .NET?
У мене була дискусія з товаришем по команді щодо блокування в .NET. Він справді яскравий хлопець з великим досвідом як програмування нижчого, так і вищого рівня, але його досвід роботи з програмуванням нижчого рівня набагато перевищує мій. У будь-якому випадку, він стверджував, що слід уникати блокування .NET у критичних системах, …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.