Chang
337
2019-08-15 22:02:04
5
237

C# 조건문에 대해서 질문 드립니다.


c#은 전혀 모르고 이전 프로그래머가 작성한 스크립트를 

약간 수정해야 할 일이 있어서 수정중에 궁금한것이 있어서 질문드립니다.

조건문에...

If (!(array2.Count == 2 && (test.Substring(test.Length - 3, 3) == ".25" )))

이런 조건이 있는데 

If (array2.Count != 2 && (test.Substring(test.Length - 3, 3) != ".25" ))

이것과 같은게 아닌지요..

(! )  이것을 쓴 특별한 이유가 있을까요?


0
0
  • 답변 5

  • 개나소나고생
    5k
    2019-08-15 22:06:59

    좀 다른 이야기 인데....소수점을 substring으로 비교하는 이유가 있나요? decimal로 해야 할거 같은 느낌인데..

    0
  • Chang
    337
    2019-08-15 22:11:29 작성 2019-08-15 22:12:39 수정됨

    소수점 이하의 25는 db에 저장하지 않길 원해서 이렇게 작성할걸로 알고 있어요..

    아마도 데이터형식이 nvarchar(255)이라 저렇게 한게 아닐까요..

    0
  • Whislter
    358
    2019-08-15 23:34:23

    괄호 밖에서 !는 전체부정이니 수학으로 마지막에 -1 곱한것과 같으니,

    전체부정을(-1을) 안으로 넣었으면(곱했으면) 전부다 부정해야죠(-1 곱해줘야죠)


    == 는 !=

    && 는 || 로


    그러니 If (array2.Count != 2 && (test.Substring(test.Length - 3, 3) != ".25" )) 에서 && 가 아니라 ||되어야죠

    If (array2.Count != 2 || test.Substring(test.Length - 3, 3) != ".25" ) (불필요한 괄호 지웠어욤)


    2
  • BK
    696
    2019-08-16 05:03:24 작성 2019-08-16 05:04:25 수정됨
    0
  • lelumiere
    57
    2019-08-16 09:50:40

    그냥 개발 스타일입니다.

    해석을

    1) ~와 ~인것을 제외하고 라고 하시는 분도 있을거고

    2)아니고 && 아니고 라고 하시는분도 있을 겁니다.


    다른 예로 보자면 

    bool flag ;

    if(flag) 

    if(flag == true)

    가 있습니다.



    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.