>백엔드 개발 >C#.Net 튜토리얼 >ASP.NET의 매개변수 및 특수 유형의 인스턴스에 대한 자세한 설명

ASP.NET의 매개변수 및 특수 유형의 인스턴스에 대한 자세한 설명

零下一度
零下一度원래의
2017-07-02 11:58:361663검색

이 글에서는 ASP.NET의 매개변수와 특수한 유형 및 특성을 주로 소개합니다. 매우 훌륭하고 참고할 만한 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있습니다.

1. 선택적 매개변수 및 명명된 매개변수

1. 선택적 매개변수

구문:

[수정자] 반환 유형 메서드 이름(필수 매개변수 1...필수 매개변수 n, 선택적 매개변수 1...선택 매개변수 n)

                                                                                값 1개... 매개변수 n 이름: 매개변수 n 값)                                                                     


static void BookList(string category,int pageIndex = 1)
        {
          //操作
        }
        //调用
        static void Main(string[] args)
        {
          BookList("C#"); //使用全部默认参数
          BookList("C#",2) //不使用默认参数
        }

2 .NET의 특수 유형


1. 암시적 유형


암시적 유형에는 주로 다음과 같은 응용 프로그램 시나리오가 있습니다. 초기화 문을 위한 로컬 유형 변수 선언 , foreach 초기화 문 , using 문                                                                                                 > 즉, 익명 쌍의 속성은 읽기 전용입니다. 3. 동적 유형(동적 유형 정의) duce 메소드

4. 동적 키워드와 var 키워드의 차이점은 무엇인가요? VAR은 로컬 변수에만 사용할 수 있으며 필드와 매개변수에는 사용할 수 없습니다. 명령문은 동시에 초기화되어야 합니다. 변수 유형은 필드 유형, 메소드 매개변수 및 메소드 반환 값. 일반 유형 매개변수 등의 경우 모든 유형에 할당 또는 할당할 수 있습니다. ~      ​

                     System.Nullable ; 변수 이름

                                                       

                    类型?变量名                    

                    eg:                    


 System.Nullable<int> num = null;
             System.Nullable<DateTime> birthday = null;
            //或
             int? num = null;
            DateTime? birthday = null;

                                                注:当把一个可空类型赋值给一个非空类型时,将引发编译错误            


   eg:int? num = null; int num2 = num;

            2.可以使用可空类型的属性,解决不能把一个可空类型赋值给一个非空类型

                (1) HasValue:属于bool类型,当变量包含非空值时,它被设置为true

                (2) Value:如果HasValue为true 则说明Value包含有意义的值,否则将引发InvalidOperaionException                          


   int? num1 = 5
        int num2 = num1??0;

三、特性

        1.C#的特性主要有以下特点

            为目标元素(可以是程序集、类、属性、方法)加入附加信息,类似于注释

            特性本质上也是一个雷,直接或间接的继承自Acttribute类

            特性命名都以Attribute结尾,但是在使用它时可以省略,.NET会自动找到对应得特性类

        2.语法

            [特性名] 或[特性名(参数值...)]            

            eg:             


[Obsolete]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",false)]  //这个方法可用使用 但是编译时会警告
        [Obsolete("不要使用旧的方法,使用新的方法",true)]   //这个方法不可以使用,编译时会报错
        static void Old(){
          Console.WriteLine("这是旧方法!");
        }
        static void New(){
          Console.WriteLine("这是新方法!");
        }
        public static void Main(){
          Old();
        }

       3.自定义特性(继承Attribute)

            eg:         


[AttributeUsage(AttributeUsages.Class|AttributeUsages.Method,AllowMultiple=true)]
      [AttributeUsage(AttributeUsages.Class)]  //只能在类中进行使用
      [AttributeUsage(AttributeUsages.Method)]  //只能在方法中进行使用
      [AttributeUsage(AllowMultiple=true)]    //可以在同一个类上进行多次使用
      
      class DescriptionAttribute:Attribute{
        public string name{get;set;}
        public DescriptionAttribute(){}
        public DescriptionAttribute(string name){
          this.name = name
        }
      }

위 내용은 ASP.NET의 매개변수 및 특수 유형의 인스턴스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.