본문 바로가기

전체

(363)
[Visual Studio] 메서드 자동완성 기능 플러그인 (C# Methods Code Snippets) https://marketplace.visualstudio.com/items?itemName=jsakamoto.CMethodsCodeSnippets 비주얼스튜디오에서 C#은 워낙 킹갓 인텔리센스를 제공해줘서한 두글자쓰고 탭탭 누르면 왠만하면 다 만들어주는데 의외로 메소드에서 이런기능이 없다 해당 플러그인을 깔면 메소드에서도 해당 기능을 지원해준다. method (snippet for instance method) and "method1", "method2", "method3" are taking arguments edition. vmethod (snippet for virtual instance method) and "vmethod1", "vmethod2", "vmethod3" are taking arg..
[C#] 7.0 새로운 기능 out과 함께 초기화 class Program { public static void OutTest(out int arg) { arg = 0; } static void Main(string[] args) { int before; //선언 OutTest(out before); //Out OutTest(out var a); //선언과함께 초기화 가능, Var도 가능 Console.WriteLine(a); } }
[Clojure 연습] 1. 기초 연습문제 (ns hello.core) (defn Hello-Name [args] (println (str "hello " (first args))) ) (defn My-Calc-Program [] (let [x (Long/parseLong (read-line)) y (Long/parseLong (read-line)) z (read-line)] (case z "+" (println (+ x y)) "-" (println (- x y)) "*" (println (* x y)) "/" (println (/ x y)) ) )) (defn Sum-All [args] (println (apply + (map #(Long/parseLong %) args )) ) ) (defn -main [& args] (Sum-All arg..
[C# 때려잡기] C# 강의 17.객체지향과 클래스 지금까지 C#의 기본적인 문법들을 배웠다.그러나 지금까지 배운 C# 은 C# 문법을 사용했을뿐이지 사실상 C스타일의 절차지향 코딩과 더 가깝다 즉 class를 배우지 않으면 C#을 배운것이 아니다. 심화 강의부터는 Class, OOP등을 강의하도록 하겠다. 1. 객체 지향 프로그래밍 (object oriented programming), OOP 지금까지 배운 프로그래밍 방식은 절차지향 프로그래밍으로각종 변수와 구조체등을 모듈화된 함수등을 사용하여 특정 절차를 거치도록하여 프로그램을 구성하였다. 그러나 프로그램이 커지면서 해당방식으로 프로그래밍 하는것이 힘들어졌고세상이 구성된 그대로를 가져오다는 컨셉으로 객체지향 개념이 생겨나게 되었다. 그럼 여기서 객체 지향언어란 무엇인가? 세상은 객체와 객체의 상호작용..
[C# 때려잡기] C# 강의 16.객체지향 전에.. 간단한 구조체 1. 구조체구조체란 하나 이상의 변수를 그룹 지어서 만든 사용자 정의 자료형이다사용자 정의 자료형이란 C#에서 기본적으로 제공하는 자료형이 아니지만자료형으로 쓰기위해 우리가 직접 만든 자료형이란 의미이다. 이런 개념이 왜 필요하느냐 하면 예를들어 학생100의 정보 관리 프로그램을 제작할 때 각각의 학생은 이름, 학번, 나이 … 등의 여러 가지 정보를 가지고 있다. 이를 따로따로 관리하려면 string name[100]; int number[100]; int age[100]; ...과 같이 해당 자료를 가지는 정보를 배열로 따로따로 만들것이다.정보가 더 많아지면 더 많은 배열을 만들게 될것이다. 그러나 student의 정보를 하나로 그룹지어서 사용자 정의 자료형을 만들면 Student stu[100]; 과..
[C# 때려잡기] C# 강의 15.킹갓 var C++의 auto 와 비슷한데. 쉽게 말하자면 컴파일러가 형식을 알아서 결정해준다. using System; namespace ConsoleApp1{ class Program { static void Main(string[] args) { int i = 10; var j = 10; Console.WriteLine(i.GetType().ToString()); Console.WriteLine(j.GetType().ToString()); var f = 0.5f; var d = 0.44; Console.WriteLine(f.GetType().ToString()); Console.WriteLine(d.GetType().ToString()); var s = "string"; Console.WriteLine(s.Ge..
[C# 때려잡기] C# 강의 14.매개변수 기본적으로 C# 에서는 함수를 호출할때함수가 정의된 파라미터와 자료형, 순서, 개수등이 동일해야한다. 그러나 이를 모두 맞춰주는것이 상당히 불편한 상황이 생길수있어C#에서는 다양한 매개변수 스타일을 제공해준다 1. 가변길이 매개변수여러가지 숫자의 합을 리턴해주는 함수를 만든다고 해보자 static int Sum(int x, int y) { return x + y; } static int Sum(int x, int y, int z) { return x + y + z; } static int Sum(int x, int y, int z, int w) { return x + y + z + w; }다음과 같이 2개짜리 3개짜리 4개짜리 ... 을 만들어야 할것이다.이러한 상황을 해결하기위하여 나온것이 가변길이 매..
[C# 때려잡기] C# 강의 13. ref 와 out 함수는return 을 만나면 종료하기 때문에 일반적으로 복수개의 값들을 리턴할수가 없다. 함수를 호출한 곳에 두개 이상의 값을 넘겨주고 싶을때는 어떻게 할까? 1. ref using System; namespace ConsoleApp1{ class Program { static void Test(ref int x, ref int y) { x = 10; y = 20; } static void Main(string[] args) { int x = 0, y = 0; Test(ref x, ref y); Console.WriteLine("{0},{1}", x, y); } }} 다음과 같이 ref키워드를 통하여 해당 변수에 값을 대입하면 결국 해당함수를 사용한 곳에서는 x,y 두개의 값을 받았다고 볼수있다.이렇게 ..