¹ØÓÚʹÓõ½ÁËÁ½¸öC#¹Ø¼ü×ÖthisºÍbase¡£
1£¬C# "this " keyword
Æä×÷ÓÃÒýÓÃÀàµÄµ±Ç°ÊµÀý£¬Æäʵ¿´ÁËÏÂÃæÕâ¸öÀý×ӾͺÃÀí½âÁË¡£
Ö÷ÒªÈý¸ö×÷Ó㺵±Ç°ÊµÀý¡¢²ÎÊý´«µÝºÍË÷ÒýÆ÷
1.1 µ±Ç°ÊµÀý
class Team
{
///³ÉÔ±±äÁ¿
private string name;
///¹¹Ô캯Êý
public Team(string name)
{
this.name = name;
}
}
ÔÚÕâÀïÒòΪÊÇÒª½«²ÎÊýµÄnameÖµ´«ÈëTeamÀà»òÕß˵¶ÔÏóµÄname³ÉÔ±±äÁ¿ÖÐ.
ÔÚÕâÀïͨ¹ýʹÓÃthis¿ÉÒÔ±íÃ÷nameµÄ¶ÔÏóÊǵ±Ç°µÄʵÀý£¬Ò²¾ÍÊÇTeam¶ÔÏ󣬶ø²»ÊDzÎÊýname.
1.2 ²ÎÊý´«µÝ
ÁíÍ⻹ÓÐÒ»¸ö×÷ÓþÍÊÇ¿ÉÒÔ×öΪ 'Ö¸Õë 'À´Ê¹ÓÃ,¿ÉÒÔ½«µ±Ç°¶ÔÏóÔªËØ°´ÕÕÒýÓòÎÊý·½Ê½´«µÝ¡£
ÀýÈ磺
class A
{
public string name = "liangzhen ";
public A(){
}
}
class B
{
private A a;
public void B(A a)
{
this.a = a;
}
public void Change()
{
this.a.name = "kathy ";
}
}
class Demo
{
static ......
ίÍкÍʼþÔÚ .Net FrameworkÖеÄÓ¦Ó÷dz£¹ã·º£¬È»¶ø£¬½ÏºÃµØÀí½âίÍкÍʼþ¶ÔºÜ¶à½Ó´¥C#ʱ¼ä²»³¤µÄÈËÀ´Ëµ²¢²»ÈÝÒס£ËüÃǾÍÏñÊÇÒ»µÀ¼÷¶ù£¬¹ýÁËÕâ¸ö¼÷µÄÈË£¬¾õµÃÕæÊÇÌ«ÈÝÒ×ÁË£¬¶øÃ»ÓйýÈ¥µÄÈËÿ´Î¼ûµ½Î¯ÍкÍʼþ¾Í¾õµÃÐÄÀï±ð£¨bi裩µÃ»Å£¬»ìÉí²»×ÔÔÚ¡£±¾ÎÄÖУ¬ÎÒ½«Í¨¹ýÁ½¸ö·¶ÀýÓÉdzÈëÉîµØ½²ÊöʲôÊÇίÍС¢ÎªÊ²Ã´ÒªÊ¹ÓÃίÍС¢Ê¼þµÄÓÉÀ´¡¢.Net FrameworkÖеÄίÍкÍʼþ¡¢Î¯ÍкÍʼþ¶ÔObserverÉè¼ÆÄ£Ê½µÄÒâÒ壬¶ÔËüÃǵÄÖмä´úÂëÒ²×öÁËÌÖÂÛ¡£
½«·½·¨×÷Ϊ·½·¨µÄ²ÎÊý
ÎÒÃÇÏȲ»¹ÜÕâ¸ö±êÌâÈçºÎµÄÈÆ¿Ú£¬Ò²²»¹ÜίÍо¿¾¹ÊǸöʲô¶«Î÷£¬À´¿´ÏÂÃæÕâÁ½¸ö×î¼òµ¥µÄ·½·¨£¬ËüÃDz»¹ýÊÇÔÚÆÁÄ»ÉÏÊä³öÒ»¾äÎʺòµÄ»°Ó
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
public void GreetPeople(string name) {
// ×öijЩ¶îÍâµÄÊÂÇ飬±ÈÈç³õʼ»¯Ö®À࣬´Ë´¦ÂÔ
EnglishGreeting(name);
}
public void EnglishGreeting(string ......
public string WriteXML(string[] values, int flag)
{
//Èç¹ûflag==0ÔòΪµÚÒ»´ÎÔËÐÐÐèÒª³õʼ»¯XMLÎļþ
if (flag == 0)
{
//ÉúÔÚËæ»úÎļþÃû
string dateName = System.DateTime.Now.ToString("yyyyMMddHHmmss");
string newFileName = Session["orgid"].ToString() + "_" + Session["DeptID"].ToString() + "_" + Session["UserID"].ToString() + "_" + dateName;
string PersonalFolder = Server.MapPath(@"~/offline/" + Session["OrgID"].ToString() + "_" + Session["DeptID"].ToString() + "_" + Session["UserID"].ToString() + "/" + DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss"));
if (!Directory.Exists(PersonalFolder))
{
Directory.CreateDirectory(PersonalFolder);
}
//Directory.SetAccessControl(PersonalFolder, System.Security.AccessControl.DirectorySecurity);
string file = PersonalFolder + "\\" + new ......
public string WriteXML(string[] values, int flag)
{
//Èç¹ûflag==0ÔòΪµÚÒ»´ÎÔËÐÐÐèÒª³õʼ»¯XMLÎļþ
if (flag == 0)
{
//ÉúÔÚËæ»úÎļþÃû
string dateName = System.DateTime.Now.ToString("yyyyMMddHHmmss");
string newFileName = Session["orgid"].ToString() + "_" + Session["DeptID"].ToString() + "_" + Session["UserID"].ToString() + "_" + dateName;
string PersonalFolder = Server.MapPath(@"~/offline/" + Session["OrgID"].ToString() + "_" + Session["DeptID"].ToString() + "_" + Session["UserID"].ToString() + "/" + DateTime.Now.ToString("yyyy-MM-dd HH_mm_ss"));
if (!Directory.Exists(PersonalFolder))
{
Directory.CreateDirectory(PersonalFolder);
}
//Directory.SetAccessControl(PersonalFolder, System.Security.AccessControl.DirectorySecurity);
string file = PersonalFolder + "\\" + new ......
·½·¨Ò»£º±éÀúÕýÔÚÓÐÏàͬÃû×ÖÔËÐеÄÀý³Ì
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace DHPSS.COM
{
/// <summary>
/// c#³ÌÐòÖ»ÔËÐÐÒ»´Î£¬C#Àý³ÌÖ»ÔËÐÐÒ»´Î
/// http://blog.csdn.net/nnsword
/// QQ:16349023
/// </summary>
public class CHandleRunningPro
{
/// <summary>
/// const int£¬ ShowWindowAsync ʹÓÃʱµÄ²ÎÊý£¬Èô°ÌåÕý³£ÏÔʾȷ±£Ã»ÓÐÒþ²ØºÍ×îС»¯¡£
/// </summary>
private const int WS_SHOWNORMAL = 1;
/// <summary>
/// ¹¦ÄÜ£º±éÀúËùÓÐÔËÐеÄÀý³Ì£¬ÅжÏÊÇ·ñÒѾÓÐÏàͬÃû×ÖµÄÀý³Ì¡£
/// ʵÏÖ£º±éÀúËùÓÐÔËÐеÄÀý³Ì£¬Èç¹ûÓÐÓë×Ô¼ºÃû×ÖÏàͬµÄ±È½Ï ID ÊÇ·ñÏàͬ¡£
/// Èç¹ûID²»Í¬ËµÃ÷ÒѾÓÐʵÀýÔÚÔËÐУ¬Ôò°Ñ¸ÃʵÀý·µ»Ø¡£
/// Èç¹ûûÓÐÔò·µ»Ø null
/// </summary>
/// < ......
Ò»£®ÀàÓë½á¹¹µÄʾÀý±È½Ï£º
½á¹¹Ê¾Àý£º
public struct Person
{
string Name;
int height;
int weight
public bool overWeight()
{
//implement something
}
}
ÀàʾÀý£º
public class TestTime
{
int hours;
int minutes;
int seconds;
public void passtime()
{
//implementation of behavior
}
}
µ÷Óùý³Ì£º
public class Test
{
public static ovid Main
{
Person Myperson=new Person //ÉùÃ÷½á¹¹
TestTime Mytime=New TestTime //ÉùÃ÷Àà
}
}
´ÓÉÏÃæµÄÀý×ÓÖÐÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÀàµÄÉùÃ÷ºÍ½á¹¹µÄÉùÃ÷·Ç³£ÀàËÆ£¬Ö»ÊÇÏÞ¶¨·ûºóÃæÊÇ struct »¹ÊÇ class µÄÇø±ð£¬¶øÇÒʹÓÃʱ£¬¶¨ÒåеĽṹºÍ¶¨ÒåеÄÀàµÄ·½·¨Ò²·Ç³£ÀàËÆ¡£ÄÇôÀàºÍ½á¹¹µÄ¾ßÌåÇø±ðÊÇÊ²Ã´ÄØ£¿
¶þ .ÀàÓë½á¹¹µÄ²î±ð
1. ÖµÀàÐÍÓëÒýÓÃÀàÐÍ
½á¹¹ÊÇÖµÀàÐÍ£ºÖµÀàÐÍÔÚ¶ÑÕ»ÉÏ·ÖÅ䵨ַ£¬ËùÓеĻùÀàÐͶ¼ÊǽṹÀàÐÍ£¬ÀýÈ磺int ¶ÔÓ¦System.int32 ½á¹¹£¬string ¶ÔÓ¦ system.string ½á¹¹ £¬Í¨¹ýʹÓýṹ¿ÉÒÔ´´½¨¸ü¶àµÄÖµÀàÐÍ
ÀàÊÇÒýÓÃÀàÐÍ£ºÒýÓÃÀàÐÍÔÚ¶ÑÉÏ·ÖÅ䵨ַ
¶ÑÕ»µÄÖ´ÐÐЧÂÊÒª±È¶ÑµÄÖ´ÐÐЧÂʸߣ¬¿ÉÊǶÑÕ»µÄ×ÊÔ´ÓÐÏÞ£¬²»Êʺϴ¦Àí´óµÄÂß¼¸´ÔӵĶÔÏó¡£Ëù ......
c#±à³Ì»ù´¡Ö®¶þ£ºÌØÐÔ ÕâÀïµÄÌØÐÔÇø±ðÓÚÊôÐÔ£¬ËäÈ»msdnÖÐËÆºõ²¢Ã»ÓÐÇø±ð¶þÕß¡£
ÊôÐÔ£ºÊÇÃæÏò¶ÔÏó±à³ÌµÄ»ù±¾¸ÅÄÌṩÁ˶Ô˽ÓÐ×ֶεķÃÎÊ·â×°£¬ÔÚC#ÖÐÒÔgetºÍset·ÃÎÊÆ÷·½·¨ÊµÏֶԿɶÁ¿ÉдÊôÐԵIJÙ×÷£¬ÌṩÁ˰²È«ºÍÁé»îµÄÊý¾Ý·ÃÎÊ·â×°¡£
ÌØÐÔ£º¹«¹²ÓïÑÔÔËÐÐʱÔÊÐíÌí¼ÓÀàËÆ¹Ø¼ü×ÖµÄÃèÊöÉùÃ÷£¬½Ð×öattributes, Ëü¶Ô³ÌÐòÖеÄÔªËØ½øÐбê×¢£¬ÈçÀàÐÍ¡¢×ֶΡ¢·½·¨ºÍÊôÐԵȡ£AttributesºÍMicrosoft .NET FrameworkÎļþµÄÔªÊý¾Ý±£´æÔÚÒ»Æð£¬¿ÉÒÔÓÃÀ´ÏòÔËÐÐʱÃèÊöÄãµÄ´úÂ룬»òÕßÔÚ³ÌÐòÔËÐеÄʱºòÓ°ÏìÓ¦ÓóÌÐòµÄÐÐΪ¡£±ÈÈç [Serializable]¡¢[Flags]¡¢[DllImport]¡¢[AttributeUsage]
ÎÒÃǼòµ¥µÄ×ܽáΪ£º¶¨ÖÆÌØÐÔattribute£¬±¾ÖÊÉÏÊÇÒ»¸öÀ࣬ÆäΪĿ±êÔªËØÌṩ¹ØÁª¸½¼ÓÐÅÏ¢£¬²¢ÔÚÔËÐÐÆÚÒÔ·´ÉäµÄ·½Ê½À´»ñÈ¡¸½¼ÓÐÅÏ¢¡£
ÎÒÀí½âµÄ¶¨ÖÆÌØÐÔ£¬¾ÍÊÇΪĿ±êÔªËØ£¬¿ÉÒÔÊÇÊý¾Ý¼¯¡¢Ä£¿é¡¢Àà¡¢ÊôÐÔ¡¢·½·¨¡¢ÉõÖÁº¯Êý²ÎÊýµÈ¼ÓÈ븽¼ÓÐÅÏ¢£¬ÀàËÆÓÚ×¢ÊÍ£¬µ«ÊÇ¿ÉÒÔÔÚÔËÐÐÆÚÒÔ·´ÉäµÄ·½Ê½»ñµÃ¡£¶¨ÖÆÌØÐÔÖ÷ÒªÓ¦ÓÃÔÚÐòÁл¯¡¢±àÒëÆ÷Ö¸Áî¡¢Éè¼ÆÄ£Ê½µÈ·½Ãæ¡£
Ò»¡¢Í¨ÓùæÔò£º
1¡¢¶¨ÖÆÌØÐÔ¿ÉÒÔÓ¦ÓõÄÄ¿±êÔªËØ¿ÉÒÔΪ£º³ÌÐò¼¯(assembly)¡¢Ä£¿é(module)¡¢ÀàÐ ......