You are on page 1of 101

2 C#

2.1
2.2
2.3
2.4
2.5

2 C#()

2.6
2.7
2.8
2.9

2.1

C#Unicode

ASCII

Unicode

_
1

2.1
C#@@

@

if
@if
@price

//
//
//price

2.1

HelloWorld
_isTrue
check_in5
2example
$100
Hello!
Hello World

//

Hello+World

//

//

//
//
//
//!
//

2.1

C#
C#77

2.2


sbyte
-128~127
sbyteshortintlong
byte
0~255

byteushortuintulong

short

-32768~32767

ushort
0~65535

1
1
2
2

double
int float-2147483648~2147483647

uint decimal
0~4294967295

long

-9223372036854775808~
9223372036854775807

ulong

0~188446744073709551615

2.2

truefalse

bool

char

float

15~16

double

bool

decimal

28~29

char
0~65535Unicode
string

object

object

Unicode

string

1
4
8
16
2

2.3

1n
double width;
char c;
int i, j, k;

(=)

int
double
bool
char

i=1, j=2;
width=5.6,length;
answer=true;
c= 'A';

2.4

2.4.1
2.4.2
2.4.3
2.4.4
2.4.5

2.4.1

0X0x 0X5cD


320222

2.4.1
int
int
uintlongulong

Ll
longulongUu
uintulong

ulong
567892L
36u
36ul

//long
//uint
//ulong

2.4.2



5.66.0.9

Ee
4.1E12.27e45.0E-25E-2

2.4.2
double
floatF
f

5.6f4.1E5F

decimalM
m

4.1E5M

Dd
double
6.2D

2.4.2

FfMmD
d
1F
2M
22D

//float
//decimal
//double

2.4.3

'A' 'b' '$' '*'


\Unicode
4Unicode
4


'\u0047'
//'A'
'\u0007'
//beep

char

2.4.3

\0
\a
\b
\f
\n
\r
\t
\\
\'
\"

Unicode
\u0000
\u0007
\u0008
\u000C
\u000A
\u000D
\u0009
\u005C
\u0027
\u0022

2.4.4


""
" a string"
" Hello!\n How are you?"

2.4.4

@c:\cshape\book
"c:\\cshape\\book


@"I say ""I do."""

@"the string has


two lines"
"the string has
two lines"

//
//

2.4.5
falsetrue
bool

2-1


System.Console.Write()
System.Console.WriteLine()

Console.WriteLine()
.
Console.Write()


{0},{1},12
,
12,

int number = 9;
Console.WriteLine("the number is {0} ", number);

Console.WriteLine("arr[ {0} ]= {1} ", I , arr[i] );

2-1
//VariableLiteral.cs
using System;
class VariableLiteral
{
static void Main()
{
//
bool isTrue=false;
char c1='A';
char c2='\u0038';

sbyte b1=-12;
byte
b2=12;
short s1=-012;
ushort s2=16;
int
i1=-0x48bF;
uint i2=12;
long l1=0X2Dcfa6;
ulong l2=0x2dcfa6L;

//

//

//L
l,long

float f1=1;
float f2=22f; //ffloat
float f3=.26f;
//Ddouble
double d1=22D;
//double
double d2=2e2;
double d3=-2.1e12d; //doubleDd
decimal d4=22;
decimal d5=-2.1e12m;
//mdecimal

//
Console.WriteLine("isTrue={0}",isTrue);
Console.WriteLine("c1={0},c2={1}",c1,c2);
Console.WriteLine("b1={0},b2={1}",b1,b2);
Console.WriteLine("s1={0},s2={1}",s1,s2);
Console.WriteLine("i1={0},i2={1}",i1,i2);
Console.WriteLine("l1={0},l2={1}",l1,l2);
Console.WriteLine("f1={0},f2={1},f3={2}",f1,f2,f3);
Console.WriteLine("d1={0},d2={1},d3={2}",d1,d2,d3);
Console.WriteLine("d4={0},d5={1}",d4,d5);
}
}


isTrue=False
c1=A,c2=8
b1=-12,b2=12
s1=-12,s2=16
i1=-18623,i2=12
l1=3002278,l2=3002278
f1=1,f2=22,f3=0.26
d1=22,d2=200,d3=-2100000000000
d4=22,d5=-2100000000000

2.4.5


const =

const double PI=3.14159

2.4.5

2.5

6+5
x=4
x=2*6+2-4/2

2.5

Result = number * 100

2.5
2.5.1
2.5.2

2.5.1


2.5.1

x=2.6
x=y=z=2.6
4x

//

float
float

x=1.2;
y=1.5f;

//



+-*/%


+ -


++--

5/2

//2

10%4

//2

4.6%2.1

//0.4

-7%5

//-2

7%-5

//2

i=+5
i=8/-2
i=8/(-2)


11

int
int
int
int
int
int

i=5;
j=3;
k1=i++;
k2=++i;
m1=--j;
m2=j--;

//k1=5, i=6
//k2=7, i=7
//m1=2, j=2
//m2=2, j=1

5++
(i-j)--

//
//

2-2

2-2
//ArithmeticOperation.cs
using System;
class ArithmeticOperation
{
static void Main()
{
//
int k,m;
double d1,d2,d3;
//
d1=25.65;
d2=12.28;

//int
k=15+2;
Console.WriteLine("int k=15+2={0}",k);
k=15-2;
Console.WriteLine("int k=15-2={0}",k);
k=15*2;
Console.WriteLine("int k=15*2={0}",k);
k=15/2;
Console.WriteLine("int k=15/2={0}",k);
k=15%2;
Console.WriteLine("int k=15%2={0}",k);
k=2;
m=k++;
Console.WriteLine("\nint k=2\nk++k={0},k++={1}",k,m);
m=++k;
Console.WriteLine("++kk={0},++k={1}",k,m);
m=--k;
Console.WriteLine("--kk={0},--k={1}",k,m);
m=k--;
Console.WriteLine("k--k={0},k--={1}",k,m);

//double
Console.WriteLine("\ndouble d1={0}, d2={1}",d1,d2);
d3=d1+d2;
Console.WriteLine("double d3=d1+d2={0}",d3);
d3=d1-d2;
Console.WriteLine("double d3=d1-d2={0}",d3);
d3=d1*d2;
Console.WriteLine("double d3=d1*d2={0}",d3);
d3=d1/d2;
Console.WriteLine("double d3=d1/d2={0}",d3);
d3=d1%d2;
Console.WriteLine("double d3=d1%d2={0}",d3);
d3=d1++;
Console.WriteLine("d1++d1={0},d1++={1}",d1,d3);
d3=--d1;
Console.WriteLine("--d1d1={0},--d1={1}",d1,d3);
}
}

.NET Ctrl+F5)


<<=>>= = = !=
bool
= = !=


!&&||^
&|
boolbool

x

!x

x&&(&)y

x||(|)y

x^y

false false

true

False

false

false

false

true

true

false

true

true

true

false false

false

true

true

true

true

true

true

false

false

&& ||
p && q

p || q

Yes

Yes

No

No

Yes

Yes

No
q

q
No

false

true

true

false


&&||

int i=2 , j=4 ;


bool b=i>j&&j++>i--; //b=falsei2j4

&|
truefalse,

2-3

//RelLogOperation.cs
using System;
class RelLogOperation
{
static void Main()
{
int i = 1, j = 2;
bool b;
Console.WriteLine("i={0}, j={1}", i, j);
Console.WriteLine("i>j is {0} ", (i > j));
Console.WriteLine("b=i>j&&j++>i--");
b = i > j && j++ > i--;
Console.WriteLine("i={0},j={1},b={2}", i, j, b);
Console.WriteLine("i==j is {0}", (i == j));
Console.WriteLine("b=i==j||j++>i--");
b = i == j || j++ > i--;
Console.WriteLine("i={0},j={1},b={2}", i, j, b);

Console.WriteLine("i>=j is {0}", (i >= j));


Console.WriteLine("b=i>=j&j++>i--");
b = i >= j & j++ > i--;
Console.WriteLine("i={0},j={1},b={2}", i, j, b);
Console.WriteLine("i!=j is {0}", (i != j));
Console.WriteLine("b=i!=j|j++>i--");
b = i != j | j++ > i--;
Console.WriteLine("i={0},j={1},b={2}", i, j, b);
Console.WriteLine("i<j is {0}", (i < j));
Console.WriteLine("b=i<j^j++>i--");
b = i < j ^ j++ > i--;
Console.WriteLine("i={0},j={1},b={2}", i, j, b);
Console.WriteLine("i<=j is {0}", (i <= j));
Console.WriteLine("b=!(i<=j)");
b = !(i <= j);
Console.WriteLine("i={0},j={1},b={2}", i, j, b);
}
}

.NET Ctrl+F5)

&

<<

>>


X
0
0
1
1

Y
0
1
0
1

~x
1
1
0
0

x&y
0
0
0
1

0x71
01110001
0x52^ 0 1 0 1 0 0 1 0
0x71^0x52 0 0 1 0 0 0 1 1

x|y
0
1
1
1

x^y
0
1
1


<<
0

>>

2-4

2-4
//BitOperation.cs
using System;
class BitOperation
{
static void Main()
{
int x = 5, y = 10, z = -128;
Console.WriteLine("{0}&{1}={2}", x, y, (x & y));
Console.WriteLine("{0}|{1}={2}", x, y, (x | y));
Console.WriteLine("{0}^{1}={2}", x, y, (x ^ y));
Console.WriteLine("~{0}={1}", x, (~x));
Console.WriteLine("{0}<<{1}={2}", z, x, (z << x));
Console.WriteLine("{0}>>{1}={2}", z, x, (z >> x));
}
}


10+=-=*=/=%=<<=
>>=&=^=|=

x*=2
x*=x+2

//x=x*2
//x=x*x+2


? : C#
1 ?2 :3
1bool
23

1
true2

z=x>y?x:y;
z = x >=0 ? x : -x ;
x=(4>5)?4:5

// z xy
// zx
//x=5


C#+
+

"Hello!"+" C#"
int a=5,b=5;
"a+b="+a+b
a+b+ "a+b="

2-5

//"Hello!

C# "

//"a+b=55"
//10a+b="

2-5

//StringOperation.cs
using System;
class StringOperation
{
static void Main()
{
int i = 2, j = 3, k = 4;
Console.WriteLine("i={0},j={1},k={2}", i, j, k);
Console.WriteLine("\"i,j,k \"+i+j+k");
Console.WriteLine("i,j,k " + i + j + k);
Console.WriteLine("i+j+k+\" i+j+k\"");
Console.WriteLine(i + j + k + " i+j+k");
Console.WriteLine(12+8);
}
}

C#

x=4+6*8-10*2

//x=32

x=((4+6)*8-10)*2

//x=140

2.5.2

.


int sbyte
byteshortushortuint ulong

sbytebyteshortushortchar

int
charushortint
uintlongulongfloatdouble
decimal
char

sbyte

short

int

byte

ushort

uint

long
ulong

float

double
decimal

2-6

//TypeCast.cs
using System;
class TypeCast
{
static void Main()
{
char c1='D',c2;
sbyte sb1=1,sb2=2,sb3; byte b1=1,b2=2,b3;
short s1=3, s2=4,s3; ushort us1=3,us2=4,us3;
c2=c1+'A';
Console.WriteLine("char c2={0}",c2);
sb3=sb1-sb2;
Console.WriteLine("sbyte sb3={0}",sb3);
b3=b1*b2;
Console.WriteLine("byte b3={0}",b3);
s3=s1/s2;
Console.WriteLine("short s3={0}",s3);
us3=us1&us2;
Console.WriteLine("ushort us3={0}",us3);
}
}

//TypeCast.cs
using System;
class TypeCast
{
static void Main()
{
char c1='D';
sbyte sb1=1,sb2=2;
byte b1=1,b2=2;
short s1=3, s2=4;
ushort us1=3,us2=4;
c1+='A';
Console.WriteLine("char c1={0}",c1);
sb1-=sb2;
Console.WriteLine("sbyte sb1={0}",sb1);
b1*=b2;
Console.WriteLine("byte b1={0}",b1);
s1/=s2;
Console.WriteLine("short s1={0}",s1);
us1&=us2;
Console.WriteLine("ushort us1={0}",us1);
}
}

double x=5.5, y;
y=x-(int)x;
//y=0.5
bool

System.Convert12.4.2)

.
bool b=false;
2.
int i=(int)b;
//

2.6

2.6.1

2.6.2

2.6.3

2.6.1

Public

Private(
(5.8)

struct Student
{
public string
public char
public int
public string
}

Name;
Sex;
Age;
Addr;

2.6.1

Student

stud1,stud2;

2.6.1

.

stud1.Name="";
stud1.Sex='';
stud1.Age=16;
stud1.Addr="";
Public Private

2.6.1

stud2=stud1;

2.6.1

Student stud1;
Student stud2=stud1; //
2-7

using System;
class UseStruct
{
static void Main()
{
Student stud1,stud2;
stud1.Name="";
stud1.Sex='';
stud1.Age=20;
stud1.Addr="";
Console.WriteLine("{0} {1} {2} {3}",
stud1.Name,stud1.Sex,stud1.Age,stud1.Addr);
stud2=stud1;
stud2.Name="";
stud2.Age=24;
Console.WriteLine("{0} {1} {2} {3}",
stud2.Name,stud2.Sex,stud2.Age,stud2.Addr);
}
}

struct Student
{
public string Name;
public char Sex;
public int Age;
public string Addr;
}

struct Bill_Details
{ public string inv_No; //
public string ord_Dt; //
public string custName; //
public string product; //
public double cost; //
public double due_Amt; //
}

2.6.2

enum Weekday
{
Sunday,Monday,Tuesday,
Wednesday,Thursday,Friday,
Saturday
}

2.6.2

Weekday wd;

wd=Weekday.Friday;

2.6.2

10
1int

enum Color:sbyte
{
Red=20,Blue=-10,White
}

2.6.2
0

Weekday wd1=2;
//
Weekday wd2=(Weekday)2;
int i=Weekday.Sunday;
//
int j=(int)Weekday.Sunday;

2.6.2

wd=(Weekday)100;

2-8

//UseEnum.cs
using System;
class UseEnum
{
static void Main()
{
Weekday wd=Weekday.Monday;
Console.WriteLine("wd={0}",wd);
wd=wd+3;
//
Console.WriteLine("wd={0}",wd);
}
}
enum Weekday
{
Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
}

2.6.3

.NET

.NET

sbyte

System.SByte

long

System.Int64

byte

System.Byte

ulong

System.Uint64

short

System.Int16

float

System.Single

ushort

System.UInt16

double

System.Double

int

System.Int32

decimal

System.Decimal

uint

System.UInt32

char

System.Char

bool

System.Boolean

2.6.3 (
C#.NET

System.BooleanFalseString
TrueStringfalsetrue
System.Int32 i;
//int i;
MaxValueMinValue
System.Double d; //double d;

2-9

using System;
class TypeRange
{
static void Main()
{
Console.Write("sbyte:");
Console.WriteLine("{0}~{1}",SByte.MinValue,SByte.MaxValue);
Console.Write("byte:");
Console.WriteLine("{0}~{1}",Byte.MinValue,Byte.MaxValue);
Console.Write("short:");
Console.WriteLine("{0}~{1}",Int16.MinValue,Int16.MaxValue);
Console.Write("ushort:");
Console.WriteLine("{0}~{1}",UInt16.MinValue,UInt16.MaxValue);
Console.Write("int:");
Console.WriteLine("{0}~{1}",Int32.MinValue,Int32.MaxValue);
Console.Write("uint:");
Console.WriteLine("{0}~{1}",UInt32.MinValue,UInt32.MaxValue);
Console.Write("long:");

Console.WriteLine("{0}~{1}",Int64.MinValue,Int64.MaxValue);
Console.Write("ulong:");
Console.WriteLine("{0}~{1}",UInt64.MinValue,UInt64.MaxValue);
Console.Write("float:");
Console.WriteLine("{0}~{1}",Single.MinValue,Single.MaxValue);
Console.Write("double:");
Console.WriteLine("{0}~{1}",Double.MinValue,Double.MaxValue);
Console.Write("decimal:");
Console.WriteLine("{0}~{1}",Decimal.MinValue,Decimal.MaxValue);
Console.Write("char:");
Console.WriteLine("{0}~{1}",(int)Char.MinValue,(int)Char.MaxValue);
Console.Write("bool:");
Console.WriteLine("{0},{1}",Boolean.FalseString,Boolean.TrueString);
}
}

2.7

2.7

int Num1;
Num1=50;

Num1

50
Num1 Num2 50
Num2
int Num2;

Num2=Num1;

Num1Num2

50

2.7

Num1

Num1

Num2

Num1=60;

60

Num2
50

2.7

string str1;
str1= "abcd";

str1

"abcd"

"abcd"

string str2;
str2=str1;

str1str2

str2

"abcd"


.NET Framework

System.Int32C# int

System.Object C# object
(CTS)
CTS
.NET Framework
struct
structs
class

CTS

CTS

2.8
System.Console.Read()
System.Console.ReadLine()

Console.ReadLine()

Console.Read()
Unicode
2-10

//*//MyInput.cs
using System;
class MyInput
{
static void Main()
{
Console.Write("Enter a integer number: ");
string str = Console.ReadLine(); //
int i = Int32.Parse(str);
Console.WriteLine("You entered the number:{0}", i);
}
}//*/

ParseSystem.Int32
int
.



1
2 3

2.9
1C#
A@if

D Hello world

B$price C2_ab

2 C#bool
Atrue

Bint C1

D 0

3C#011
A

B C

4
Abool

Bint Cfloat

D char

5int a=12,b=20; a+b+int


Aabint

B32int C1220int

D a+b+int

6System.Console.WriteLine(3+6);

A3+6

B 9

C3+6

D 9

7char c1=A,c2;
Ac1=c2 ;

Bc1+=c2 ; Cc2=c1+B

D c1+=B

8double x = 12.5, y = 5.0;


Console.WriteLine({0}, x / y + (int)(x / y) - (int)x / y);
A2.9

B2.5

C2.1

D 2

9bool a = true, b = false;

Console.WriteLine({0} {1}", a && (a || !b), a & (a | !b));


ATrue True BTrue False CFalse False
10int x = 9;x--+x--+x
A27

B24

C21

D False True

--x+--x+--x

D 18

11int x = 3, y = 2;

int z = (x++ % y == 0) ? ++x : (x / y == 1) ? ++y : --y;z


A1

B2

C3

D 4

12

You might also like