반응형

c# 59

Microsoft Office를 설치하지 않고 C#에서 Excel(.XLS 및 .XLSX) 파일을 어떻게 만듭니까?

질문자 :Community Wiki 코드를 실행하는 컴퓨터에 Excel을 설치하지 않고도 C#으로 Excel 스프레드시트를 만들려면 어떻게 해야 합니까? ExcelLibrary라는 라이브러리를 사용할 수 있습니다. Google 코드에 게시된 무료 오픈 소스 라이브러리입니다. 엑셀라이브러리 이것은 위에서 언급한 PHP ExcelWriter의 포트인 것 같습니다. 아직 새로운 .xlsx 형식에 쓰지는 않지만 해당 기능을 추가하기 위해 노력하고 있습니다. 매우 간단하고 작고 사용하기 쉽습니다. 또한 DataSet 및 DataTable을 사용하여 Excel 데이터로 쉽게 작업할 수 있는 DataSetHelper가 있습니다. ExcelLibrary는 여전히 이전 Excel 형식(.xls 파일)에서만 작동하는 것으..

etc./StackOverFlow 2021.12.20

C# 자동 속성에 초기 값을 제공하는 가장 좋은 방법은 무엇입니까?

질문자 :bentford C# 자동 속성에 초기 값을 어떻게 지정합니까? 생성자를 사용하거나 이전 구문으로 되돌립니다. 생성자 사용: class Person { public Person() { Name = "Initial Name"; } public string Name { get; set; } } 일반 속성 구문 사용 (초기 값 포함) private string name = "Initial Name"; public string Name { get { return name; } set { name = value; } } 더 좋은 방법이 있습니까? C# 5 및 이전 버전에서는 자동 구현 속성에 초기 값을 지정하려면 생성자에서 이를 수행해야 합니다. C# 6.0부터 인라인으로 초기값을 지정할 수 있습니다. ..

etc./StackOverFlow 2021.12.02

임의의 정수를 어떻게 생성합니까?

질문자 :Rella C#에서 임의의 정수를 어떻게 생성합니까? Random 클래스 는 난수를 생성하는 데 사용됩니다. (물론 의사 랜덤입니다.) 예시: Random rnd = new Random(); int month = rnd.Next(1, 13); // creates a number between 1 and 12 int dice = rnd.Next(1, 7); // creates a number between 1 and 6 int card = rnd.Next(52); // creates a number between 0 and 51 하나 이상의 난수를 생성하려면 Random 인스턴스를 유지하고 재사용해야 합니다. 너무 가까운 시간에 새 인스턴스를 생성하면 시스템 시계에서 임의 생성기가 시드된 것과 동..

etc./StackOverFlow 2021.12.01

'using' 지시문은 네임스페이스 내부 또는 외부에 있어야 합니까?

질문자 :benPearce 일부 C# 코드에 대해 StyleCop 을 실행 using 지시문이 네임스페이스 내에 있어야 한다고 계속 보고합니다. using 지시문을 네임스페이스 외부가 아닌 내부에 넣는 기술적인 이유가 있습니까? 실제로 둘 사이에는 (미묘한) 차이가 있습니다. File1.cs에 다음 코드가 있다고 상상해 보십시오. // File1.cs using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } } 이제 누군가가 다음과 같은 프로젝트에 다른 파일(File2.cs)을 추가한다고 상상해 보십시오. // File2.cs namespace Outer { class Math { } } 컴파일..

etc./StackOverFlow 2021.11.29

인코딩을 수동으로 지정하지 않고 C#에서 문자열의 일관된 바이트 표현을 얻으려면 어떻게 해야 합니까?

질문자 :Agnel Kurian 특정 인코딩을 수동으로 지정하지 않고 .NET(C#)에서 string 을 byte[] 로 어떻게 변환합니까? 문자열을 암호화하겠습니다. 변환하지 않고 암호화할 수 있지만 여기에서 인코딩이 재생되는 이유를 알고 싶습니다. 또한 인코딩을 고려해야 하는 이유는 무엇입니까? 문자열이 저장된 바이트를 간단히 가져올 수 없습니까? 문자 인코딩에 대한 종속성이 있는 이유는 무엇입니까? 여기에 있는 답변과 달리 바이트를 해석할 필요가 없는 경우 인코딩에 대해 걱정할 필요가 없습니다! 언급했듯이 목표는 단순히 "문자열이 저장된 바이트를 가져오는 것" 입니다. (물론 바이트에서 문자열을 재구성할 수 있습니다.) 이러한 목표를 위해 사람들이 왜 인코딩이 필요하다고 계속 말하는지 솔직히 이해가..

etc./StackOverFlow 2021.11.26

한 번에 여러 예외를 포착하시겠습니까?

질문자 :Michael Stum System.Exception 잡는 것은 권장하지 않습니다. 대신 "알려진" 예외만 잡아야 합니다. 이제 이것은 때때로 불필요한 반복적인 코드로 이어집니다. 예를 들면 다음과 같습니다. try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; } 궁금합니다. 두 예외를 모두 잡아내고 WebId = Guid.Empty 호출을 한 번만 호출하는 방법이 있습니까? GUID 뿐이므로 다소 간단합니다. 그러나 개체를 여러 번 수정하고 조작 중 하나가 예상대로 실패하면 object 를 "재..

etc./StackOverFlow 2021.11.25

딥 클로닝 개체

질문자 :NakedBrunch 다음과 같이 하고 싶습니다. MyObject myObj = GetMyObj(); // Create and fill a new object MyObject newObj = myObj.Clone(); 그런 다음 원래 개체에 반영되지 않은 새 개체를 변경합니다. 이 기능이 자주 필요하지 않으므로 필요할 때 새 개체를 만든 다음 각 속성을 개별적으로 복사했지만 항상 더 낫거나 더 우아한 처리 방법이 있다는 느낌을 받습니다. 그 상황. 원본 개체에 변경 사항이 반영되지 않고 복제된 개체를 수정할 수 있도록 개체를 복제하거나 전체 복사하려면 어떻게 해야 합니까? 한 가지 접근 방식은 ICloneable 인터페이스 를 구현하는 것이지만(여기 에 설명되어 있으므로 다시 설명하지 않겠습니다..

etc./StackOverFlow 2021.11.13

C#의 올바른 버전 번호는 무엇입니까?

질문자 :Community Wiki C#의 올바른 버전 번호는 무엇입니까? 언제 나온거야? C# 3.5에 대한 답변을 찾을 수 없는 이유는 무엇입니까? 이 질문은 주로 잘못된 버전 번호(예: C# 3.5 )를 사용하여 답변을 검색하는 사람들을 돕기 위한 것입니다. 잘못된 버전 번호로 답을 찾지 못한 사람 이 이 질문을 찾은 다음 올바른 버전 번호로 다시 검색하기를 바랍니다. C# 언어 버전 기록: 이 글을 쓰는 시점에 알려진 C# 버전은 다음과 같습니다. .NET 1.0 및 VS2002와 함께 릴리스된 C# 1.0(2002년 1월) C# 1.2 (이상하게도 충분히); .NET 1.1 및 VS2003(2003년 4월)과 함께 릴리스되었습니다. IDisposable 을 구현한 IEnumerator Dispo..

etc./StackOverFlow 2021.11.11

사전을 반복하는 가장 좋은 방법은 무엇입니까? [닫은]

질문자 :Jake Stewart 폐쇄 . 이 질문은 의견 기반 입니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집하여 사실과 인용으로 답변할 수 있도록 질문을 업데이트하십시오. 폐쇄 8 개월 전 . 이 질문 개선 C#에서 사전을 반복하는 몇 가지 다른 방법을 보았습니다. 표준 방법이 있습니까? foreach(KeyValuePair entry in myDictionary) { // do something with entry.Value or entry.Key } Pablo Fernandez 다른 언어의 연관 배열을 사용하는 것처럼 C#에서 일반 사전을 사용하려는 경우: foreach(var item in myDictionary) { foo(item.Key); bar..

etc./StackOverFlow 2021.11.11

대소문자를 구분하지 않는 'Contains(string)'

질문자 :Boris Callens 다음 반환을 true로 만드는 방법이 있습니까? string title = "ASTRINGTOTEST"; title.Contains("string"); 대소문자 구분을 설정할 수 있는 과부하가 없는 것 같습니다. 현재 저는 둘 다 대문자로 표기하고 있지만 그것은 어리석은 일입니다(위/아래 대소문자와 함께 제공 되는 i18n 문제를 언급하는 것입니다). 업데이트 이 질문은 아주 오래된 질문이며, 그 이후로 저는 여러분이 충분히 조사하고 싶다면 정말 방대하고 어려운 주제에 대해 간단한 답변을 요청했다는 것을 깨달았습니다. 대부분의 경우 단일 언어의 영어 코드 기반에서는 이 답변으로 충분합니다. 여기에 오는 대부분의 사람들이 이 범주에 속하기 때문에 이것이 가장 인기 있는 답..

etc./StackOverFlow 2021.11.05
반응형