>  기사  >  백엔드 개발  >  ASP.NET의 C# 기본 지식에 대한 자세한 소개

ASP.NET의 C# 기본 지식에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-29 11:56:551934검색

이 글에서는 ASP.NET의 C#에 대한 기본 지식을 주로 소개합니다. 특정 참조 값이 있으므로 아래 편집기로 살펴보겠습니다

설명: 개발 프레임워크프레임워크asp.net은 현재 널리 사용되고 있으며 개발 기반은 프론트엔드 외에도 html, css, JavaScript 등 백엔드에서 가장 중요한 언어 지원은 C#입니다. 다음은 향후 학습에 사용되는 주요 기본 지식을 정리한 것입니다.

1. C#은 객체 지향 프로그래밍 언어로, 주로 .net 플랫폼에서 실행할 수 있는 애플리케이션을 개발하는 데 사용됩니다. 강력한 유형의 언어이므로 모든 변수에는 선언된 유형이 있어야 합니다. C#에는 두 가지 데이터 유형이 있습니다. 값 유형과 참조 유형입니다. (값 유형이 값을 저장하는 데 사용되는 경우 참조 유형은 실제 데이터에 대한 참조를 저장하는 데 사용됩니다.)

1. 값 유형

값 유형은 실제 데이터를 나타내며 스택에 저장됩니다. C#의 가장 기본적인 유형은 숫자 유형입니다. 값 유형에는 단순 유형, 열거 유형 및 구조 유형이 포함됩니다.

단순 유형에는 숫자 유형과 부울 유형이 있습니다. (일반적으로 필요에 따라 숫자 유형을 선택합니다. 값이 작은 경우 바이트 유형을 선택해 볼 수 있습니다.)

2. 참조 유형

참조 유형은 데이터에 대한 포인터 또는 참조를 나타내며, 실제 데이터에 대한 참조를 저장할 수 있습니다. 참조 유형이 null이면 참조되는 개체가 없다는 의미입니다. 참조 유형에는 인터페이스, 클래스, 배열, 포인터 등이 포함됩니다. 클래스에는 권투 유형, 대리자 및 사용자 정의 클래스가 포함됩니다. (참고: 문자열은 응용형이지만 항등 연산자 == 또는 !=를 사용하면 문자열 개체의 값을 비교한다는 의미입니다.)

3. Boxing 및 Unboxing

간단히 말하면 boxing은 값 유형에서 참조 유형으로의 변환입니다. 마찬가지로 unboxing은 참조 유형에서 값 유형으로의 변환입니다. 언박싱을 사용하면 복잡한 참조 유형을 단순 유형처럼 조작할 수 있으며 이는 C#의 강력한 기능이기도 합니다.

간단한 boxing 및 unboxing 예제

class Test
 {
 static void Mian()
 {
  int i = 3;
  object a = i;//装箱
  int j = (int)a;//拆箱
 }
 }

설명: boxing 및 unboxing 프로세스 중에 모든 값 유형은 개체 참조 유형으로 볼 수 있습니다. 박싱 작업이

유형 을 참조 유형으로 변환하는 경우 명시적 캐스트가 필요하지 않지만 언박싱 작업은 참조 유형을 값 유형으로 변환할 수 있으므로 를 다음으로 변환합니다. 호환 가능한 모든 값 유형이므로 명시적으로 캐스트를 수행해야 합니다.

2. 상수 및 변수

1. 상수: 컴파일 타임에 알려지며 작업 중에 변경되지 않습니다. 상수는 필드로 선언됩니다. 선언 시 필드 유형 앞에

const 키워드를 사용하세요. 상수는 공개, 비공개, 보호, 내부, 보호 내부로 표시될 수 있습니다. 이러한 액세스 한정자는 사용자가 상수에 액세스할 수 있는 방법을 정의합니다.

2. 변수: 변수의 명명 규칙은 로고의 명명 규칙을 준수해야 하며,

변수 이름은 읽기 쉽도록 최대한 의미가 있어야 합니다. 변수는 프로그램이 실행되는 동안 값이 지속적으로 변하는 수량으로, 일반적으로 프로그램이 실행되는 동안 입력된 데이터, 계산을 통해 얻은 중간 결과 및 최종 결과를 저장하는 데 사용됩니다.

변수는 사용하기 전에 선언해야 합니다. 변수는 특정 유형의 값을 보유할 수 있습니다. 변수를 선언할 때 이름도 지정해야 합니다. 변수 선언 형식: [액세스 한정자 데이터 유형 변수 이름].

수정자 액세스 수준:

public: 어디서나 멤버에 액세스할 수 있도록 합니다.

protected: 선언된 클래스에서 멤버에 액세스할 수 있습니다. 파생 클래스의 내부 액세스

private: 선언된 클래스 내에서만 멤버에 액세스할 수 있습니다.

internal: 해당 멤버가 속한 어셈블리 내에서만 멤버에 액세스할 수 있습니다.

3. 유형 변환

1. 암시적 유형 변환

암시적 유형 변환을 의미합니다. 선언 변환을 수행하지 않고도 수행할 수 있다는 것입니다. 암시적 변환을 수행할 때 컴파일러는 변환이

안전하게 수행되는지 확인할 필요가 없습니다.

                                      隐式类型转换表
源类型 目标类型
sbyte short, int long double decimal
byte short,ushort,int uint,ulong,float,double,decimal
short int ,long,float,double,decimal
ushort int ,uint,long ,ulong,float,double,decimal
int  long float,double,decimal
uint long ulong float double decimal
char ushort int unit long float double decimal 
float double
ulong  float double decimal
long  float double decimal

참고: int long ulong float 단순 유형을 float로 변환하면 정밀도 손실이 발생합니다.

2. 명시적 유형 변환

명시적 유형 변환은 강제 유형 변환이라고도 하며, code 변환할 유형을 선언합니다. 암시적 변환이 없는 형식 간에 변환하는 경우 명시적 형식 변환을 사용해야 합니다.

강제 유형 변환은 Convert 키워드를 사용하여 데이터 유형을 강제 변환할 수 있습니다.

예: float f=123.345; ToInt32(f);

참고: 명시적 유형 변환에는 모든 암시적 유형 변환과 명시적 유형 변환이 포함되므로 항상 다음을 사용할 수 있습니다. 캐스트

표현식

from 모든 숫자 유형을 다른 숫자 유형으로 변환합니다.

4. 연산자 및 표현식C#은 표현식 기호

에서 수행되는

작업을 지정하는 많은 연산자를 제공합니다. 표현식은 평가할 수 있고 단일 값, 개체, 메서드 또는 네임스페이스를 생성하는 코드 조각입니다.

1, 산술 연산자 및 산술 표현식

산술 연산자에는 + - * / 및 %가 포함됩니다. (너무 간단해서 자세히 설명하지 않겠습니다.) 2. 관계 연산자 및 관계식

관계 연산자에는 다음이 포함됩니다. ;>= == b207bb093495751f3e536c5eb7122819= 등 (모든 언어는 동일)

대입 연산자

할당 연산자는 변수, property, event 또는

index

요소에 새 값을 할당하는 데 사용됩니다. . 일반적으로 사용되는 것은 =, +=, -=, *=, /=, ^=, %=, 579e74645a774e2cc075884c63c0a42b>=(왼쪽 시프트 할당) 등입니다. 4. 논리 연산자 및 논리식

논리 연산자에는 &(AND 연산자), ^(제외) OR 연산자), !(연산자가 아님), |(또는 연산자)는 논리 연산자를 사용하여 피연산자를 연결합니다. 5.

비트 연산자

비트 연산자는 피연산자를 이진 집합으로 취급하며, 각 이진 비트는 값은 0 또는 1입니다. 7a5c3cb900b4ee4c91f49ecdf7ac5738>오른쪽으로 이동합니다. 6. 기타 연산자

증가 및 감소 연산자: ++, --, a--, a++. 조건 연산자:? : 부울 표현식의 값을 기준으로 두 값 중 하나를 반환합니다. 예: int a=1; int b=2; a!=b?a++:a--; (a!=b인 경우 이 인스턴스는 실행 결과 2를 반환하고 그렇지 않으면 1을 반환합니다.) new 연산자: 객체를 생성하고 생성자를 호출하는 데 사용됩니다. 예: int i=new int(); int i=0;

과 동일 연산자: 호환 가능한 참조 유형 간의 변환을 수행하는 데 사용됩니다. 예: string s =someObject as string; as 연산자는 변환이 실패하면 null 값을 발생시키는 대신 null 값을 생성합니다.

7. 연산자 우선순위

기본> Shift >>할당

5. 문자열 처리

1. 문자열 비교

String 클래스는 다음을 위한 일련의 메소드를 제공합니다. CompareTo 및 Equals와 같은 문자열 비교.

CompareTo 메서드는 두 문자열이 같은지 비교하는 데 사용됩니다. 형식: String.CompareTo(String); 반환 숫자 유형 Equals 메서드는 두 문자열 개체가 동일한 값을 갖는지 확인하는 데 사용됩니다. 형식: String.Equals(String); 부울 유형을 반환합니다.

2. 위치 지정 및 해당 문자열

문자열 중 하나 위치 지정 IndexOf를 사용합니다. 캐릭터나 Zichuan이 처음 등장하는 위치에서 메서드를 사용합니다. 형식: String.IndexOf(String); 매개변수는 찾을 문자열을 나타냅니다. (대소문자에 주의하세요)

3. 문자열 형식

.Net提供了一种灵活全面的方式,能够将任何数值、枚举、日期时间等基本数据类型表示为字符串。格式化由格式说明符的字符串表示,该字符串指示如何表示基类型。

格式为:String Format(String,Object);例如:

//格式化为Currency类型
string str1=String.Format("(C)Currency:{0:C}\n",-123.4556f);
//格式化为ShortDate类型
string str2=String.Format("(d)ShortDate:{0:d}\n",DateTime.Now);

4、截取字符串

SubString方法可以从指定字符串中截取子串。格式:String.SubString(Int32,Int32);  第一个参数表示子串的起始位置,第二个参数表示子串的结束位置。

5、分裂字符串

Split()方法可以把一个字符串按照某个分隔符分裂成一系列小的字符串。格式:String []Split(char[]);参数为分割字符串的数组。

string str="hello world";
string[] split=str.Split(new Char[]{'.','!'});
foreach(string s in split)
{
 if(s.Tirm()!='''')
 {
 Console.WriteLine(s);
 }
//或者修改为
 string []split=str.Split(','.'!');

6、插入和填充字符串

插入字符串:Insert()方法,用于在一个字符串的指定位置插入另外一个字符串,从而构造一个新的字符串。格式:String.Insert(int,String);第一个参数为指定插入的位置。

填充字符串:PadLeft()方法和PadRight()方法添加指定数量的空格实现左右对齐。格式:String PadLeft(int,char)。String PadRight(int Char);

7、删除和剪切字符串

删除字符串:Remove()方法用于在一个字符串的指定位置删除指定的字符。格式:String Remove(int ,int);第一个参数表示删除的位置,第二个参数表示删除字符的数量。

剪切字符串:常用的剪切首位的多余字符用到的方法有: Trim(),TrimStart(),TrimEnd();格式如下:

String Trim(Char[]);//从字符串的开头和结尾处一处空白。
String TrimStart(Char[]);//从字符串的开头处移除字符串在字符数组中指定的字符。
String TrimEnd(Char[]);//从字符串的结尾处移除字符数组中指定的字符。

8、复制字符串

Copy()方法可以把一个字符串复制到另一个字符串中。格式:String Copy(String);//参数为需要复制的字符串,方法返回目标字符串。

9、替换字符串

Replace()方法可以替换掉一个字符串中的某些特定的字符或者子串。格式:String Replace(string ,string );第一个参数为待替换子串,第二工人参数为替换后的新子串。

六、流程控制

1、分支语句

1>if... else语句

if(布尔表达式)

{  代码片段1}

else{  代码片段2}

2>switch语句

switch(条件)

{   case 条件1:

     break;

   '''''

}

2、循环语句

for()循环

while()语句

do while语句

foreach语句

3、异常处理语句

try.....catch语句

try.....finally语句,finally块用于清除try块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给finally块,与try块的退出方式无关。

try...catch..finally语句

throw语句,用于立即无条件地引发异常,控制永远不会到达紧跟在throw后面的语句。

七、数组

数组是从System.Array派生的引用类型。

1、数组的声明:

一般语法:type[]arrayName;type[,]arrayName;

2、初始化数据(数组初始化的方式很多,可以通过new运算符创建数组元素初始化为它们的默认值)

//举例
int []arr=new int[6];
int [,]arr=new int[2,3];
int []arr1=new int[3]{1,2,3};
int [,]arr2=new int[3,2]{{2,3},{5,5},{3,5}};
string []arr;
arr=new string[3]{"sd","dddd","aaaa"};
int [,]arr;
arr=new int[,]{{2,3},{4,5},{4,2}};
//创建数组时可以省略new和数组长度
string[]arr={"ddd","fff","sss"};
int [,]arr3={{2,3},{4,5},{3,2}};

3、数组的遍历

C#用foreach语句进行遍历数组,是一种简单的明了的方法来循环访问数组中的元素。

int []arr={2,3,6,3,2};
foreach(int i in arr){
 system.Console.write({0},i);
}

掌握以上的基本知识简单的asp.net开发后台部分就成功了一部分,学无止境。

위 내용은 ASP.NET의 C# 기본 지식에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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