«c#» 태그된 질문

C #은 Microsoft에서 .NET 플랫폼과 병렬로 생성 한 다중 패러다임, 관리, 가비지 수집 개체 지향 프로그래밍 언어입니다.

3
% 연산자를 사용하지 않고 잘 분산 된 해시 테이블을 구현할 수 있습니까?
C #에서 빠르고 잘 분산 된 해시 테이블을 구현하려고합니다. 임의의 해시 코드를 가져 와서 "제한"하여 해시를 인덱스하는 데 사용할 수있는 해시 제한 함수를 선택하는 데 문제가 있습니다. 지금까지 볼 수있는 두 가지 옵션이 있습니다. 한편으로 버킷에 항상 소수의 요소가 있는지 확인하고 해시를 제한하기 위해 버킷 수로 간단하게 모듈화 할 수 …

3
DDD에서 저장소가 엔티티 또는 도메인 오브젝트를 노출해야합니까?
내가 이해했듯이 DDD에서는 집계 루트와 함께 저장소 패턴을 사용하는 것이 적절합니다. 내 질문은 데이터를 엔티티 또는 도메인 객체 / DTO로 반환해야합니까? 어쩌면 일부 코드는 내 질문을 더 설명 할 것입니다. 실재 public class Customer { public Guid Id { get; set; } public string FirstName { get; set; } public …

3
Foreach 루프 및 변수 초기화
이 두 버전의 코드간에 차이점이 있습니까? foreach (var thing in things) { int i = thing.number; // code using 'i' // pay no attention to the uselessness of 'i' } int i; foreach (var thing in things) { i = thing.number; // code using 'i' } 아니면 컴파일러가 신경 쓰지 …
11 c#  performance  memory 

1
C #에서 복합 할당 연산자를 오버로드 할 수없는 이유는 무엇입니까?
제목이 오해의 소지가 있으므로 전체 질문을 읽으십시오 :-) . "복합 할당 연산자"에 의해 op=, 예를 들어 이와 같은 구성을 염두에두고 +=있습니다. 순수 할당 연산자 ( =)는 내 질문에 속하지 않습니다. "왜"라는 말은 의견이 아니라 일부 디자이너 나 동료 등이 자신의 추론을 표현할 때 자원 (책, 기사 등)을 의미합니다 (예 : …

3
프로그래밍 방식으로 장기 실행 프로그램을 모니터링하는 방법
내가 현재 가지고있는 것은이 의사 코드와 요약 할 수 있습니다. public static void Main(string[] args) { var listOfObjects = Database.GetObjectsToUploadToOnlineService(); Parallel.ForEach(Upload) } private static void Upload(MyUploadObject obj) { //Build object (takes a few milliseconds) //Format to JSON (takes a few more milliseconds) //Upload (can take up to a max of …


4
내 아키텍처의 다중 상속에 대한 대안 (실시간 전략 게임의 NPC)?
코딩은 실제로 그렇게 어렵지 않습니다 . 어려운 부분은 이해하기 쉽고 이해하기 쉬운 코드를 작성하는 것입니다. 그래서 더 나은 개발자를 원하고 견고한 아키텍처를 만들고 싶습니다. 비디오 게임에서 NPC 를 위한 아키텍처를 만들고 싶습니다 . Starcraft, Age of Empires, Command & Conquers 등과 같은 실시간 전략 게임입니다. 그래서 저는 다른 종류의 NPC를 …

2
F # Core가 일반 배열 유형을 정의하는 이유는 무엇입니까?
방금 FSharp.Core 네임 스페이스에 최대 4 차원의 일반 배열 유형 (예 : Core. [] < 'T> , Core. [,] <'T>)이 포함되어 있음을 알았습니다 . C # 및 VB가 제대로 작동하는 것 같습니다. System.Array 사용-int [], string []과 같은 강력한 형식의 특수 배열 유형을 지원하는 방법을 잘 모르겠습니다. 나는 이것이 두 …
11 c#  .net  f# 

2
컴파일 타임 IOC
컴파일 타임에 IOC를 수행하는 프로젝트를 시작한 사람이 있습니까 (Roslyn 또는 Linq MethodInfo emit 사용)? IOC 컨테이너에 대한 나의 경험은 지금까지 몇 가지 작은 문제를 제외하고 훌륭했습니다. 많은 분해능 로직이 여기에서 발생하므로 많은 IOC 컨테이너가 느리게 시작됩니다. 컴파일이 더 이상 생성자를 호출 할 수 없기 때문에 해결이 가능한지 종종 확인하기가 어렵습니다. …

2
정적 클래스 및 멤버에 대한 생각과 모범 사례 [닫기]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 정적 멤버 또는 전체 정적 클래스에 대한 생각과 업계 모범 사례에 대해 매우 궁금합니다. 이것에 대한 단점이 있습니까? …
11 c#  class-design 

2
단일 방법 내에서 동기화 및 비동기 방법의 효율적인 혼합?
좋아, 이상하게 들리지만 코드는 매우 간단하고 상황을 잘 설명합니다. public virtual async Task RemoveFromRoleAsync(AzureTableUser user, string role) { AssertNotDisposed(); var roles = await GetRolesForUser(user); roles.Roles = RemoveRoles(roles.Roles, role); await Run(TableOperation.Replace(roles)); } (저는 초록에서 일종의 이야기를하고 있지만 위의 내용은 실제로 여기에서 요구하는 것을 실제로 수행하는 실제 생산 코드의 실제 방법이며 실제로는 …

1
MVC + 3 계층; ViewModel이 어디에서 사용됩니까?
ASP.NET MVC 4를 사용하여 3 계층 응용 프로그램을 설계하고 있습니다. 다음 리소스를 참조로 사용했습니다. CodeProject : MVC + N 계층 + 엔터티 프레임 워크 ASP.NET MVC에서 데이터 액세스 분리 나는 지금까지 다음과 같은 것을 가지고있다. 프리젠 테이션 레이어 (PL) (주 MVC 프로젝트 M 의 MVC는 데이터 액세스 레이어로 이동했다) MyProjectName.Main …

1
수익률 키워드가 왜 그 자체가 아닌 return 및 break와 함께 사용됩니까?
C #에서는 리턴 유형을 IEnumerable<T>사용 하여 메소드를 구성 하고 플로우를 사용 yield return하고 yield break제어 할 수 있습니다. 다음은 두 컨트롤을 모두 사용하는 간단한 예입니다. public IEnumerable<int> GetEvens(int start, int end) { if(end < start) yield break; if(start & 2 != 0) start++; for(int i = start; i <= end; …
11 c# 

3
왜 우리는 Enum, Abstract 클래스 및 Structs를 접두어로 사용하지 않습니까?
C # 커뮤니티는 "I"접두어를 아주 보편적으로 사용하여 가장 경험이없는 프로그래머조차도 사용하는 인터페이스를 나타냅니다. 그렇다면 왜 열거 형, 추상 클래스 또는 구조체 (각각 "E", "A"및 "S")를 접두어로 사용하지 않습니까? 예를 들어, 모든 추상 클래스에 "A"를 표시 한 경우 유추 할 수 있지만 즉시 명백하지 않은 해당 유형에 대한 유용한 정보를 제공합니다. …

1
마이그레이션 또는 SQL Server 데이터 도구를 사용한 코드 우선이 더 적합합니까?
새 MVC4 웹 사이트를 만들라는 사양이 주어졌지만 처음에는 너무 큰 프로젝트는 아니지만 비즈니스가 새로운 아이디어를 얻음에 따라 커질 것이라고 생각합니다. .NET 4.5 ASP.NET MVC4 및 EF 사용 데이터베이스를 처리하기 위해 마이그레이션 할 코드 우선 또는 SQL Server Data Tools (SSDT) ​​중에서 선택해야합니다. SSDT를 사용하면 솔루션의 일부로 프로젝트에서 데이터베이스를 제어하고 dacpac …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.