[C#기초지식] 정적 구조 함수, 한 면접문제의 이해에서 유래

3456 단어 구조 함수

원우의 면접 문제를 보고 궁금해서 결과를 시험해 봤어요.
      public class A
        {
            public static int X=B.Y ;
            public A()
            {
               
                ++X;
            }
        }
        public class B
        {
            public static int Y = A.X ;
            static B()
            {              
                ++Y;                
            }
        }
        static void Main(string[] args)
        {                    
            
            Console.WriteLine(A.X.ToString());
            Console.WriteLine("B.Y");
            Console.WriteLine(B.Y.ToString());
            Console.Read();
        }

 
정답: 1.
처음에는 줄곧 납득이 되지 않았는데, 마지막에 이 문제를 조사한 것이 바로 정적 구조 함수라는 것을 알게 되었다.
 
정적 구조 함수: 정적 구조 함수는 C#의 새로운 기능으로 사실 매우 적게 사용되는 것 같다.그러나 우리가 정적 변수를 초기화하려면 그것을 사용해야 한다.이 구조 함수는 클래스에 속하는 것이지, 어느 실례에 속하는 것이 아니다. 즉, 이 구조 함수는 한 번만 실행된다는 것이다.즉, 첫 번째 실례를 만들거나 정적 구성원을 인용하기 전에.NET 가 자동으로 호출됩니다.
A.X.ToString()을 인쇄할 때:
static int X = B.Y ,X       ,     0;
B.Y , Y , ++Y, Y 1 ;
X, X , A , X 1。

B.Y.toString() :
static int Y = A.X,    A X,          ,                ,     B     ,  static     ++Y       ,X 1     Y,  Y      1;



1、 , 。 .NET , public private 。

2、 ,.NET , , 。

3、 。

4、 。 , , , 。

5、 。

6、 。

7、 , , 。


? , !!!

좋은 웹페이지 즐겨찾기