190730 - 4 - 클래스
base : 부모 클래스
sealed : 상속 불가능
확장 매서드
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyExten;
namespace MyExten
{
public static class IntExtension
{
public static int Square(this int myInt)
{
return myInt * myInt;
}
public static int Power(this int myInt, int exponent)
{
int result = myInt;
for (int i = 1; i < exponent; i++)
{
result = result * myInt;
}
return result;
}
public static string Append(this string str, string addStr)
{
return str + addStr;
}
}
}
namespace ExtentionMethod
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine($"3^2 : {3.Square()}");
Console.WriteLine($"3^4 : {3.Power(4)}");
Console.WriteLine($"3^10 : {3.Power(10)}");
Console.WriteLine($"3^10 : {3.Power(10)}".Append(" 붙임"));
}
}
}
3^2 : 9
3^4 : 81
3^10 : 59049
3^10 : 59049 붙임
튜플 설치
Install-Package "System.ValueTuple"
튜플 사용
static void Main(string[] args)
{
var a = ("슈퍼맨", 9999);
Console.WriteLine($"{a.Item1}, {a.Item2}");
var b = (Name: "인간", Age: 25);
Console.WriteLine($"{b.Name}, {b.Age}");
var (name, age) = b;
Console.WriteLine($"{name}, {age}");
b = a;
Console.WriteLine($"{b.Name}, {b.Age}");
}
'C#(.NET)' 카테고리의 다른 글
[c#] 매소드 (pass by reference, 가변길이 매개변수 args, local 함수) (0) | 2020.06.13 |
---|---|
[C#] 흐름제어 (switch, C# 7.0, when) (0) | 2020.06.12 |
[C#] ?? Null 병합 연산자 (0) | 2020.06.12 |
[C#] 흐름제어 (foreach, in, Select, {0}, {1}) (0) | 2020.06.12 |
[C#] 데이터 보관하기-2(최고 조상인 Object, 박싱, 언박싱, 형변환, var) (0) | 2020.06.12 |