C#学习:

 C#类型:

sbyte:System.SByte  8位有符号的整数  -128~127
short:System.Int16  16位有符号的整数   
int  :System.Int32  32位有符号的整数  
long :System.Int64  64位有符号的整数
byte :System.Byte   8位无符号的整数
ushort:System.Uint16 16位无符号的整数
uint  :System.Uint32 32位无符号的整数
ulong :System.Uint64 64位无符号的整数

注:
long=0x12ab
变量=0x(十六进制)

uint ui=1234U;
long l=1234L;
ulong ul=1234UL;
可以用小写的u,l表示

-------------------------------------------------------------------------

常量:
const int a = 1234;

-------------------------------------------------------------------------

浮点数:

float: System.Single 32位单精度浮点数

double:System.Double    64位双精度浮点数

注:

float f=12.3F;
单=双F;

--------------------------------------------------------------------------

decimal类型:

decimal: System.Decimal  128位高精度十进制

注:

decimal d = 12.30M
decimal=数字M

--------------------------------------------------------

boolean类型:

bool System.Boolean  true,false(0,1出错)

---------------------------------------------------------

字符类型:

char System.char 

char a='a';

/' 单引号
/" 双引号
//  反斜杠
/0  空
/a  警告
/b  退格
/f  换页
/n  换行
/r  回车
/t  水平制表符
/v  垂直制表符

----------------------------------------------------------------

字符串:

string filepath="C://ProCSharp//First.cs";
string filepath=@"C:/ProCSharp/First.cs";

对象:

object obj;
obj=null;

---------------------------------------------------------------

控制语句:

if("a"=="b")
{
 //xxxxxxxx
}
else
{
 //xxxxxxxxxxxxxx

}

== 等于
!=  不等于

string str="abcd";
switch(str)
{
   case "abcd":
  //xxxxxxx;
  break;
   case "efgh":
        //xxxxxxx;
        break;
   default;
  //xxxx
  break;
}


for(int i;i<dtData.Rows.Count-1;i++)
{
 //
}

 

while(1=1)
{
 //先判断,后执行
}

 

do
{
 //先执行,后判断
}while(1=1)

 

foreach(int i in abc) //其中abc是一个整型数组
{

}


break;

continue;

return;

----------------------------------------------------------

类:

class PhoneCustomer
{
 private int iIndex;
 public void GetData()
 {
  //xxxxxxxxxxxxxxxx
 }
}

---------------------------------------------------------

结构:

struct PhoneCustomer //值类型
{
 public const int DayOfSendingBill = 1;
 public xxxxx
}

------------------------------------------------------------


修饰符:

new   :方法隐藏了同名的的继承方法
public  :方法可以在任何地方访问,包括类的外部
protected :方法可以在它所属的类的内部被访问,或者派生于该类的类型中被访问
internal :方法可以在同一个程序中被访问
private  :方法仅可以在它所属的类的内部被访问
static  :方法仅不能在类的特定实例上执行
virtual  :方法可以被其派生的类重写
abstract :这个虚方法定义了方法名,但没有提供执行方式
override :方法重写继承的方法或抽象的方法
sealed  :方法重写继承的虚方法,但不能被派生于这个类的其他类重写,必须和重写方法一起使用
extern  :方法在处部用另一种语言被执行


------------------------------------------------------------------------------

方法:

static void SomeFunction(int[] ints,ref int i) //数组按引用传值,ref也是按引用传
{
 ints[0] = 100;
 i = 100;
}


------------------------------------------------------------------

out:

static void SomeFunction(out int i)
{
 i=100;
}

public static int Main()
{
 SomeFunction(out i); //不用初始化i
 Console.WriteLine(i);
 return 0;
}

------------------------------------------------------------------------------

数组:

C#中的数组用方括号表示.

C#中声明数组时,后台会实例化.NET基类System.Array的一个实例.


int[] integers;

int[] integers=new int[32];

integers[0]=35;
integers[31]=432;

int[] integers;   //动态数组
integers = new int[32];


string[] artists={"abc","def","1234","45678"};
Array.Sort(artists);   //排序
Array.Reverse(artists);   //反序排列
foreach(string name in artists)
{
 Console.WriteLine(name);
}


多维数组:

<1>:矩形数组:
二维数组:string[,] beatleName = {{"abc","abc"},{"abc","abc"},{"abc","abc"},{"abc","abc"}};
三维数组:string[,,] my3DArray;

<2>:正交数组

int[][] a=new int[3][];
a[0] = new int[4];
a[1] = new int[3];
a[0] = new int[1]; 


-------------------------------------------------------------------------------------------

运算符:

算术运算符: + - * / %
逻辑运算符: & | ^ ~ && || !
字符串连接运算符: +
增量和减量运算符: ++ --
移位运算符: << >>
比较运算符: == != -= *= /= %= &= |= ^= <<= >>=
成员访问运算符(用于对象) .
索引运算符(用于数组和索引器) []
数据类型转换运算符:()
条件运算符?:
对象创建运算符:new
类型信息运算符:sizeof(只用于不安全代码) is typeof
溢出异常控制运算符:checked unchecked
间接导址运算符: * -> &(只用于不安全代码) []

is运算符:

is运算符可以检查对象是否与特定的类型兼容.

 int i=10;
 if(i is object)
 {
 Console.WriteLine("i is an object");
 }

sizeof运算符:

使用sizeof运算符可以确定堆桡中值类型需要的长度(单位是字节)

string s="A string";
unsaft   //不安全代码
{
 Console.WriteLine(sizeof(int));
}


typeof运算符

Typeof运算符返回一个表示特定类型的Type对象.

typeof(string) 返回表示System.String类型的Type对象

--------------------------------------------------------------------------------

类型转换:

隐式转换:小-->大
显式转换:


string str="100";
int i=int.Parse(s);


装箱(Boxing):值-->引用
取消装箱(Unboxing):引用-->值


枚举:

 

枚举是用户定义的整数类型,在声明一个枚举时,要指定该枚举可以包含的一组可接受的实例值.

public enum TimeOfDay
{
 Morning = 0,
 Afernoon = 1,
 Evening = 2
}


取得枚举字符串:

TimeOfDay time = TimeOfDay.Afternoon;
ConsoleWriteLine(time.ToString()):

取得枚举值:

TimeOfDay time2 = (TimeOfDay) Enum.Parse(typeof(TimeOfType),"afternoon",true);
Console.WriteLine((int)time2);

-------------------------------------------------------------------------------------

命名空间:

用.他隔

using语句:

using System;//命名空间

using alias = NamespaceName;//别名


---------------------------------------------------------------------------------------

格式字符串的完整列表:

字符串:说明
  C    本地货币格式
  D    十进制格式,把整数转换为以10位基数的数,如果给定一个精度说明符,就加上一个前导0
  E    科学计数法(指数)格式,精度说明符设置小数位数(默认情况下为6).字符串格式的大小写("e"或"E")确定指数符号的大小写.
  F    固定点格式,精度说明符设置小数位数,可以为0
  G    一般格试,使用E或F格式取决于哪种格式最紧凑
  N    数字格式,用逗号码表示千分符,例如:32,767.44
  P    百分数格式
  X    16进制格式,精度说明符号用于加上前导0
  

----------------------------------------------------------------------------------------


注解:

/// <summary>
/// 注解
/// </summary>
/// <returns>方法返回值</returns>
/// <param name="e1">参数e1说明</param>
/// <param name="e2">参数e2说明</param>

 

重写;

class MybaseClass
{
  public virtual string VirtualMethod()
  {
 return "xx";
  }
}

class MyDerivedClass:MyBaseClass
{
  public override string VirtualMethod()
  {
 retrun "xx";
  }
}

-----------------------------------------------------------

隐藏:

class HisBaseClass
{
 //various members
}

class MyDervedClass:HisBaseClass
{
 public int MyGroovyMethode()
 {
  //some
 }
}

class MyDerivedClass:HisBaseClass
{
 public new int MyGroovyMethode()
 {
  //some
 }
}

------------------------------------------------------------------

访问基类:

base.


-------------------------------

abstract:

抽象类:不能实例化
抽角方法:没有执行代码


必须在非抽象的的类中重写
例:

abstract class Building
{
 public abstract decimal asdfasdf();
}


---------------------------------------------

密封类和密封方法:

sealed:不能继承该类,方法不能重写方法


----------------------------------------------------

访问修饰符:

public 变量或方法可以作为它所属的类型的一个字段,在任何地方都可以访问它
internal:变量或方法只能在当前程序中被访问
protected:变量或方法只能在它所属的类型中被访问,或者在派生该类型的其他类型中被访问
protected internal:变量或方法只能在程序集中被访问,或者在派生当前类型的其他类库中被访问(如果变量或方法声明为protected或
                   internal,就能在任何地方访问它)
                
private:


-------------------------------------------------------

属性:

private string foreName;
public string ForeName;
{
 set
 {
  return foreName;
 }
 get
 {
  foreName=value;
 }
}


//只读属性
private string foreName;
public string ForeName;
{
 get
 {
  foreName=value;
 }
}

-----------------------------------------------------------------------

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp]
Go

SET QUOTED_IDENTIFIER ON
Go
SET ANSI_NULLS OFF
Go

CREATE PROCEDURE sp_CurrencyType_Update
(
 @ID    int,
 @N   varchar(50),
 @E money
)
WITH ENCRYPTION
As
 Update
  Ce
 Set
  N = @,
  E = @E
 Where
  ID = @ID
Go
SET QUOTED_IDENTIFIER OFF
Go
SET ANSI_NULLS ON
Go

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值