참조: https://engineer-mole.tistory.com/172
전항연산 ++i 같은 경우 +1의 연산을 먼저하고 값을 평가한다(값을 평가한다는 것은 어떤 장소에 이값을 넣어준다는 의미이므로 return값이 없고 할당해주지 않는경우에는 순서가 무관)
후항연산 i++ 같은 경우 값을 평가한 후 +1의 연산을 한다(이 값을 어디에 할당해준다면 할당먼저 이루어지고 +1은 나중에)

이러한 함수가 있다,
이 함수를 사용할 때, 파라미터의 타입은 function타입이므로 람다를 이용한다

boolean? flag = null;
| is | as |
|---|---|
| 객체가 해당 형식에 해당하는지를 검사하여 그 결과를 bool값으로 반환 | (캐스팅)형식 변환 연산자와 동일 한 역할 |
| 참이면 true | 참이면 오른쪽타입으로 변환 |
| 거짓이면 false | 거짓이면 null |
private int Execute(object[] args, string sqlType)
{
int ret;
try
{
handler.OpenTx();
ret = ExecuteDb(args, sqlType);
handler.CommitTx();
}
catch
{
ret = -1;
handler.RollbackTx();
}
return ret;
}
public class Base { }
public class Derived : Base { }
public static class IsOperatorExample
{
public static void Main()
{
object b = new Base();
Console.WriteLine(b is Base); // output: True
Console.WriteLine(b is Derived); // output: False
object d = new Derived();
Console.WriteLine(d is Base); // output: True
Console.WriteLine(d is Derived); // output: True
}
}
Cat cat = new Mammal();
Mammal mammal = cat as Mammal;
if(mammal != null)
{
cat.Meow();
}
# result => cat.Meow() 실행
ref?
ex: ObservableCollection => observableCollection , not list
multibinding 에서 return 하는 값이 Tuple
액세스 한정자

github pull request?
https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/
인터페이스??
??의미 -
https://epdev.tistory.com/32
string name = param ?? "default";
// param이 null이 아니라면 name에 param을 넣고, null 이라면 default를 넣어라. 이다.
mvvm모델
interface 의 정의
call by value, call by referance
event(object sender, routedEventArgs e)
https://itstalker.tistory.com/11
-private readonly 에서 readonly 의미
as 문법 - https://guyaga.tistory.com/150
get,set property
xaml.cs에서 viewmodel을 생성할때 생성자 사용이 아닌 (~~viewModel)DataContext를 이용함
string txt = "Hojun Jeong";
Console.WriteLine(txt.ToUpper());
## output => Hojun
-Array.Sort()
string[] list = ["hojun","Jeong","a"]
Array.Sort(list)
foreach(string i in list)
{
Console.WriteLine(i)
}
## output
a
hojun
Jeong
의존성 주입
db에서 특정 column을 auto-increment 했을 시에 , cs 에서 entity부분에 databaseGeneratedOption.Identity 해주어야함!!
XAML에서 Path=
await?
제네릭?
ienumerable?
lazy? 변수를 동적으로 할당하게 하는 데이터타입
Dto자체에서 담을 수 없는 데이터를 꼭 담아야하는 경우에는 그 dto를 생성해서 사용하는 부분에서 데이터를 넣어주는 방법도 하나이다


function 주체 정해주기

IQueryable linq문은 Parsing을 할 능력이 없다
그렇기 때문에 parsing을 linq문 안에서 하려면
IQueryable => IEnumerable linq로 변환 (ToList()사용 )한 후에 사용하면 된다