ruǎn jiàn > .net
mùlù
chéng .net ruǎn jiàn shù de jiàn Composed of. Net component software technology
   jiàn zhī zhì néng duān yìng yòng ruǎn jiàn cāo zuò tǒngbāo kuò PC、 PDA、 shǒu huò dòng shè bèi tōng guò lián wǎngjiè zhù WebServices shùyòng néng gòu zài rèn shí jiānrèn diǎn dōukě dào yào de xìn zài shǒu shàng yuè xīn wéndìng gòu piàoliú lǎn zài xiàn xiàngcè děng děngxiàn zài men jiǎ shè zhǒng chǎng jǐng gōng nèi shǐ yòng de CRM tǒngyìng yòng liǎo .net de jiě jué fāng 'àn hòu suǒ yòu de rén yuán biàn tōng guò shǒu huò PDA zhí jiē fǎng wèn xìn liǎo
   chuàng jiànzhì néngzhōng duān
  WebServices shì zhì néng zhōng duān ruǎn jiàn de chǔwēi ruǎn wéi yòng chuàng jiàn zhì néng zhōng duān gōng liǎo zhěng tào fēng de jiě jué fāng 'ànbāo kuò
  .netFramework- zhì néng zhōng duān shí xiàn kuà píng táishè bèi guān xìngde zhí xíng huán jìng
  VisualStudio.net jiàn bìng chéng WebServices hèyìng yòng chéng de kuài kāi gōng
  MicrosoftWindowsServer2003– xīn dài de yòng gōng jiàn zhǒng jiě jué fāng 'àn
  MicrosoftOfficeProfessionalEdition2003– nèi jiàn de gōng néng bāng zhù kāi zhì néng zhōng duān
   xiàn zài zhǎn zuì kuài de zhōng duān fēi shǒu shǔ liǎoyòu liǎng zhèn yíng zài kāi SmartPhone shù shì wēi ruǎn wéi dài biǎo de Stinger yìng yòng sān xīnglìng jiù shì NOKIA、 ài xìn chéng de Symbian
  WebServices shì .net de xīn shù shénme shì WebServices zhèng Web shì xīn dài de yòng yìng yòng jiāo de jìng, XML shì xīn dài de chéng zhī jiān tōng xùn de jìng yàng, WebServices shì xīn dài de suàn suàn zhī jiān zhǒng tōng yòng de shù chuán shū shì ràng tóng yùn suàn tǒng gèng róng jìn xíng shù jiāo huàn。 WebServices yòu xià diǎn xìng: Webservices yǔn yìng yòng zhī jiān gòng xiǎng shù ; Webservices fēn sàn liǎo dài dān yuán XML zhè zhǒng internet shù jiāo huàn de tōng yòng yánshí xiàn liǎo kuà píng táikuà cāo zuò tǒngkuà yán wēi ruǎn de ASP Webservices jiū jìng yòu shénme tóng , ASP réng rán shì zhōng shì suàn xíng de chǎn zhǐ guò shì zhe céng lián wǎng de wài dàn WebServices què shì jiǒng rán tóng de jīng líng bǐng chéngruǎn jiàn jiù shì de zhēn yántóng shí shùn yìng fēn shì suàn shì de cháo liúér de cún zài xíng shì yòu wǎng ruǎn jiàn tóngzhè zhǒng jiàn shìxiǎo qiǎodān duì kāi rén yuán lái jiǎngkāi chéng běn jiào
   zài zhè zhǐ chū Webservices shì wēi ruǎn míng detóng yàng shǔ wēi ruǎn zhuān yòu。 Webservices shì kāi fàng de biāo zhǔn HTTP、 XML、 SOAP yàng men shì gōng biāo zhǔn 'ér fēi wēi ruǎn biāo zhǔn, WS-I shì wéi liǎo jìn WebServices tōng xìng de lián méng zhìzuì chū shì yóu IBM wēi ruǎn suǒ de chéng yuán bāo kuò BEASystem、 huì suàn ( HP)、 jiá wén( Oracle)、 yīng 'ěr( Intel) SUN suàn ( SunMicrosystem)。 jīn wǎng luò shàng cún zài de duō Webservices shí méi yòu shǐ yòng .net gòu jià, Webservices yòu cāo zuò shǔ xìng tóng yàng shǐ yòng Windows kāi duān lái diào yòng yùn xíng Linux shàng miàn de Webservices de fāng
   xiān qián dào de jiē kǒu guī fàn wèn zài .net zhōng, Webservice jiē kǒu tōng cháng shǐ yòng WebServicesDescriptionLanguage( WSDL) miáo shù。 WSDL shǐ yòng XML lái dìng zhè zhǒng jiē kǒu cāo zuò biāo zhǔn shū shū chū cān shùkàn lái hěn xiàng COM CORBA de jiē kǒu dìng yán( IDLS) InterfaceDefinitionLanguages。 jiē kǒu dìng hòu jiù shǐ yòng xiē xié diào yòng jiē kǒu SOAP xié , SOAP yuán zhǒng jiào zuò XMLRPC( XML yuǎn chéng jìn chéng diào yòng remoteprocedurecalling) de xié ér Java gēn XML-RPC zhǎn liǎo de JAX-RPC xié yòng lái diào yòng WebServices。 fǎng wèn WebServices de jiē kǒu jiù yòng dào UDDI liǎozhè men zhǐ yào zhī dào WSDL shǐ yòng XML dìng WebServices jiē kǒutōng guò SOAP fǎng wèn WebServices, zài internet shàng xún zhǎo WebServices shǐ yòng UDDI jiù xíng liǎogèng duō de WebServices jiāng zài zuì hòu jiè shào
  Microsoft gōng liǎo zuì jiā de gòu jià héng MicrosoftWindowsServerSystem héng biàn pèi zhìguǎn biān pái WebServices。 wèile mǎn fēn shì suàn de yào wēi ruǎn gòu zào liǎo liè de tǒngzhè xiē nèi jiàn 'ān quán shù de tǒng quán zhī chí XML, zhè yàng jiā liǎo tǒngyìng yòng chéng tóng yàng shǐ yòng WebServices de huǒ bàn yìng yòng zhī jiān de chéng
  MicrosoftWindowsServerSystem bāo kuò
  MicrosoftApplicationCenter2000- pèi zhì guǎn Web yìng yòng chéng
  MicrosoftBizTalkServer2002- jiàn XML de kuà yìng yòng zhì de shāng luó ji
  MicrosoftCommerceServer2002– néng gòu xùn jiàn guī diàn shāng de jiě jué fāng 'àn
  MicrosoftContentManagementServer2002– guǎn dòng tài diàn shāng wǎng zhàn de
  MicrosoftExchangeServer2000– yòng jìn xíng suí shí suí de tōng xùn xié zuò
  MicrosoftHostIntegrationServer2000– yòng zhù tǒng zhī jiān chuán shū shù
  MicrosoftInternetSecurityandAccelerationServer2000(ISAServer)– internet lián jiē
  MicrosoftMobileInformationServer2002– yòng zhī chí shǒu chí shè bèi
  MicrosoftOperationsManager2000– miáo shù jiě jué fāng 'àn de cāo zuò guǎn
  MicrosoftProjectServer2002- gōng xiàng guǎn de zuì jiā fāng 'àn
  MicrosoftSharePointPortalServer2001– chá xúngòng xiǎng shāng xìn
  MicrosoftSQLServer2000– shù
  MicrosoftVisualStudio.net Microsoft.netFramework duì jiàn bìng yùn xíng WebServices shì wán měi de jiě jué fāng 'àn
  Microsoft.net kuàng jià SDK kuài mén jiào chéng: www.aspxweb.com/quickstart/
   wēi ruǎn guān fāng de jiào chéng
  CLR CLI
  .net de chū chéng shì CLI CLR。 CLI shì tào yùn zuò huán jìng shuō míngbāo kuò bān tǒng chǔ lèi guān de zhōng jiān dài quán chēng wéi tōng yòng zhōng jiān yán( CLI)。 CLR shì què rèn cāo zuò CLI de píng táizài CLI zhí xíng qián, CLR jiāng zhǐ lìng shí biān zhuǎn huàn chéng yuán shǐ xiè
   suǒ yòu CLI dōukě jīng yóu .net biǎo shù。 CLR jiǎn chá yuán liào què bǎo zhèng què de fāng bèi diào yòngyuán liào tōng cháng shì yóu yán biān shēng chéng dedàn kāi rén yuán tōng guò shǐ yòng shǔ xìng chuàng jiàn men de yuán liào
   guǒ zhǒng yán shí xiàn shēng chéng liǎo CLI, tōng guò shǐ yòng CLR bèi diào yòngzhè yàng jiù rèn .net yán shēng chéng de liào xiāng jiāo 。 CLR bèi shè wéi zuò tǒng guān xìng
   dāng huì biān bèi zài shí, CLR zhí xíng zhǒng yàng de shì zhōng de liǎng shì shì què rèn cházài què rèn de shí hòu, CLR jiǎn chá huì biān shì fǒu bāo hán yòu xiào de yuán liào CLI, bìng qiě jiǎn chá nèi biǎo de zhèng què xìng chá me jīng què chá zhì jiǎn chá dài shì fǒu huì zhí xíng xiē 'ān quánde cāo zuò chá suǒ shǐ yòng de yǎn suàn fēi cháng bǎo shǒudǎo zhì yòu shí xiēān quánde dài tōng guò chá 'ān quán de dài zhǐ yòu zài huì biān yōng yòutiào guò chá de qíng kuàng xià cái huì bèi zhí xíngtōng cháng zhè wèi zhe dài shì 'ān zhuāng zài běn shàng de
   tōng guò .net, yòng SOAP tóng de Webservices jìn xíng jiāo
.net míng
  .net shì guó zuì guǎng fàn liú xíng de tōng yòng míng shì.net bān yòng cóng shì Internet xiāng guān de wǎng luò de gòu huò gōng dāng rán rèn réndōu zhù
   lèi xíng.net
   guī
  1、 zhǐ gōng yīng wén ( a-z, fēn xiǎo xiě)、 shù ( 0-9)、 "-"( yīng wén zhōng de lián hào zhōng héng xiàn), néng shǐ yòng kònggé shū ( !、 $、 &、 ? děng )。
  2、 "-" néng yòng zuò kāi tóu jié wěi
  3、 cháng néng chāo guò 63
C#3.0 zhōng de xīn xìng In C # 3.0 new features
   xìngyǐn shì lèi xíng huà běn biàn liàng
   zhè xìng fēi cháng jiǎn dānyòu xiē JavaScript de yǐng men tǒng shǐ yòng shǐ yòng "var" guān jiàn lái shēng míng biàn liàngér zài yào zhǐ míng biàn liàng díquè qiē lèi xíng liǎobiàn liàng díquè qiē lèi xíng tōng guò shēng míng biàn liàng shí de chū shǐ zhí tuī duàn chū láizhè yàng lái jiǎn huà men shēng míng biàn liàng de gōng zuò liàng liǎoxià miàn shì
  classLocalVariables:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  varintValue=5;
  varstringValue="Thisisastring";
  varcustomClass=newLocalVariables();
  varintArray=newint{1,2,3};
  foreach(varvalueinintArray)
  Console.WriteLine(value);
  }
  }
   shàng miàn de dài jiāng bèi jiě chéng
  classLocalVariables:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  intintValue=5;
  stringstringValue="Thisisastring";
  LocalVariablescustomClass=newLocalVariables();
  int[]intArray=newint;
  foreach(intvalueinintArray)
  Console.WriteLine(value);
  }
  }
   yào bié zhù de shìyóu biàn liàng de lèi xíng shì tōng guò biàn liàng chū shǐ zhí tuī duàn 'ér lái desuǒ zài shēng míng biàn liàng de tóng shí wéi biàn liàng zhǐ dìng chū shǐ zhíbìng qiěbiàn liàng bìng shì méi yòu lèi xíng debiàn liàng dàn chū shǐ huà zhī hòulèi xíng jiù què dìng xià lái liǎo hòu jiù zhǐ néng cún chǔ mǒu zhǒng lèi xíng de zhí liǎo shàng miàn de stringValue de lèi xíng jīng tuī duàn wéi string, suǒ gāi biàn liàng jiù zhǐ néng bǎo cún string lèi xíng de zhí liǎo
   'èr xìng míng lèi xíng
   yòu xiē shí hòu men yào lín shí bǎo cún xiē yùn suàn de zhōng jiān jiēguǒ bié shì dāng zhè xiē zhōng jiān jiēguǒ shì yóu duō fèn chéng shí men cháng cháng huì shēng míng xīn de lèi xíng fāng biàn bǎo cún zhè xiē zhōng jiān jiēguǒbiǎo miàn shàng kàn lái zhè hěn zhèng chángér xiǎng zhī hòu jiù huì xiànzhè xīn lèi xíng zhǐ zhè hán shù fāng dōubù huì zài shǐ yòng liǎojiù wéi zhè hán shù 'ér dìng xīn de lèi xíngquè shí yòu xiē fán
   xiàn zài, C#3.0 zhōng de míng lèi xíng xìng jiù hěn hǎo de jiě jué shàng miàn dào de wèn tōng guò míng lèi xíng men jiǎn dān shǐ yòng new{ shǔ xìng míng 1= zhí 1, shǔ xìng míng 2= zhí 2,....., shǔ xìng míng n= zhí n} de xíng shì zhí jiē zài hán shù zhōng chuàng jiàn xīn de lèi xíngkàn xià miàn zhè
  classAnonymousType:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  varanonymousType1=new{
  CardNumber="10001",Name="van s",Sex=true
  };
  Console.WriteLine(anonymousType1.CardNumber);
  Console.WriteLine(anonymousType1.Name);
  varanonymousType2=new{
  CardNumber="10002",Name="martin",Sex=true
  };
  anonymousType2=anonymousType1;
  }
  }
   zài xīn lèi xíng zhōng zhǐ néng yòu duàn chéng yuánér qiě zhè xiē duàn de lèi xíng shì tōng guò chū zhí de lèi xíng tuī duàn chū lái de guǒ zài shēng míng xīn de míng lèi xíng shíxīn lèi xíng de duàn míngshùn chū shǐ zhí de lèi xíng shì zhì de me jiāng huì chǎn shēng xiāng tóng de míng lèi xíngsuǒ shàng zhōng anonymousType1 anonymousType2 de lèi xíng shì xiāng tóng de rán néng jìn xíng anonymousType2=anonymousType1 de zhí
   sān xìngyǐn shì lèi xíng huà shù
   zhè xìng shì duì yǐn shì lèi xíng huà běn biàn liàng de kuò zhǎnyòu liǎo zhè xìngjiāng shǐ men chuàng jiàn shù de gōng zuò biàn jiǎn dān men zhí jiē shǐ yòng "new[]" guān jiàn lái shēng míng shù hòu miàn gēn shàng shù de chū shǐ zhí liè biǎozài zhè men bìng méi yòu zhí jiē zhǐ dìng shù de lèi xíngshù de lèi xíng shì yóu chū shǐ huà liè biǎo tuī duàn chū lái de
  classAnonymousTypeArray:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  varintArray=new[]{1,2,3,4,5};
  vardoubleArray=new[]{3.14,1.414};
  varanonymousTypeArray=new[]{
  new{Name="van’ s",Sex=false,Arg=22},
  new{Name="martin",Sex=true,Arg=23}
  };
  Console.WriteLine(intArray);
  Console.WriteLine(doubleArray);
  Console.WriteLine(anonymousTypeArray[0].Name);
  }
  }
   shàng miàn de dài zhōng, anonymousTypeArray biàn liàng de shēng míng tóng shí yùn yòng liǎo yǐn shì lèi xíng huà shù míng lèi xíng liǎng zhǒng xìngshǒu xiān chuàng jiàn míng lèi xíngrán hòu zài chū shǐ zhí liè biǎotuī duàn chū shù díquè qiē lèi xíng
   xìngduì xiàng gòu zào zhě
   men zài shēng míng shù shí tóng shí duì jìn xíng chū shǐ huàzhè yàng jiù shěng liǎo hěn duō fándàn shì zài chuàng jiàn lèi de duì xiàng shízhè zhāo jiù líng liǎo men yào me diào yòng gāi lèi de gòu zào hán shù wán chéng duì xiàng de chū shǐ huàyào me jiù shǒu gōng jìn xíng chū shǐ huàzhè liǎng zhǒng fāng dōubù tài fāng biànshǐ yòng gòu zào hán shù lái duì duì xiàng jìn xíng chū shǐ huà shí men wèile mǒu zhǒng líng huó xìng néng yào biān xiě gòu zào hán shù de duō zhòng zài bǎn běnshí zài shì fán
  C#3.0 zhōng jiā de duì xiàng gòu zào zhě xìngshǐ duì xiàng de chū shǐ huà gōng zuò biàn wài jiǎn dān men cǎi yòng lèi shù chū shǐ huà de fāng shì lái chū shǐ huà lèi de duì xiàngfāng jiù shì zhí jiē zài chuàng jiàn lèi duì xiàng de biǎo shì hòu miàn gēn shàng lèi chéng yuán de chū shǐ huà dài shì xià
  classPoint
  {
  publicintX{get;set;}
  publicintY{get;set;}
  publicoverridestringToString()
  {
  return"("+X.ToString()+","+Y.ToString()+")";
  }
  }
  classRectangle
  {
  publicPointP1{get;set;}
  publicPointP2{get;set;}
  publicRectangle()
  {
  P1=newPoint();
  P2=newPoint();
  }
  publicoverridestringToString()
  {
  return"P1:"+P1+",P2:"+P2;
  }
  }
  classObjectBuilder:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  PointthePoint=newPoint(){X=1,Y=2};
  Console.WriteLine("Point(X,Y)=",thePoint);
  RectangletheRectangle=newRectangle(){
  P1={X=1,Y=1},P2={X=100,Y=200}
  };
  Console.WriteLine(theRectangle);
  }
  }
   men zài dìng Point lèi de X Y shǔ xìng shízhǐ xiě shàng gāi shǔ xìng de get set fǎng wèn shēng míng, C# biān huì dòng wèiwǒ men shēng chéng rèn de get set cāo zuò dài dāng men yào dìng jiǎn dān shǔ xìng shízhè xìng fēi cháng yòu yòng
   men newPoint(){X=1,Y=2} qīng sōng de wán chéng liǎo duì Point lèi de chū shǐ huà gōng zuòzài chuàng jiàn lèi de duì xiàng shí men 'àn zhào yào chū shǐ huà lèi de duì xiàngzhǐ yào zài lèi de chuàng jiàn biǎo shì hòu gēn shàng yào chū shǐ huà shǔ xìng de liè biǎo qiě zhǐ duì yào chū shǐ huà de shǔ xìng chū zhíér suǒ yòu shǔ xìng de chū shǐ zhí xiě shàng
   zài theRectangle duì xiàng de chū shǐ huà biǎo shì zhōng men shǒu xiān duì P1 shǔ xìng jìn xíng chū shǐ huàrán 'ér P1 shǔ xìng shì dìng de lèi xíngsuǒ P1 shǔ xìng de chū shǐ huà shì lìng lèi xíng (Point) de chū shǐ huà biǎo shì men zhè yàng de fāng shì lái duì gèng jiā de lèi xíng jìn xíng chū shǐ huà
   shàng piān wén zhāng zhōng jiè shào liǎo C#3.0 zhōng jiào jiǎn dān de xìngfēn bié shì yǐn shì lèi xíng huà běn biàn liàng míng lèi xíngyǐn shì lèi xíng huà shù duì xiàng gòu zào zhěxià miàn jiāng duì C#3.0 zhōng de jiào tóng shí shì fēi cháng qiáng de xìng jìn xíng jiè shàogōng jiā kuài liú lǎn
   xìng gòu zào zhě
   men zài shēng míng shù de tóng shíwéi zhǐ dìng chū shǐ zhífāng shì zhí jiē zài shù shēng míng de hòu miàn gēn shàng chū shǐ zhí liè biǎozhè yàng jiù shǐ shù de chū shǐ huà gōng zuò biàn jiǎn dānér duì men chuàng jiàn de lèi xíngjiù xiǎng shòu dào tōng shù yàng de dài liǎo men zài chuàng jiàn dìng duì xiàng de tóng shíshǐ yòng shù de chū shǐ huà wéi zhǐ dìng chū shǐ zhí
  C#3.0 zhōng jiā de gòu zào zhě xìng shǐ men xiǎng shòu dào tōng shù yàng de dài cóng 'ér zài chuàng jiàn duì xiàng de tóng shí wéi zhǐ dìng chū shǐ zhíwèile zuò dào zhè diǎn men yào ràng men de shí xiàn ICollection<T> jiē kǒuzài zhè jiē kǒu zhōngwán chéng chū shǐ huà cāo zuò de guān jiàn zài Add hán shùdāng shǐ yòng chū shǐ huà wéi zhǐ dìng chū shǐ zhí shí, C# biān jiāng dòng diào yòng ICollection<T> zhōng de Add hán shù jiāng chū shǐ liè biǎo zhōng de suǒ yòu yuán jiā dào zhōng wán chéng de chū shǐ huà cāo zuòshǐ yòng shì xià
  classCollectionInitializer:AppRunner.AbstractApplication
  {
  classStringCollection:ICollection<string>
  {
  publicvoidAdd(stringitem)
  {
  Console.WriteLine(item);
  }
  //OtherICollection<T>Members
  }
  publicoverridevoidRun()
  {
  StringCollectionstrings=newStringCollection(){"Van's","Brog","Vicky"};
  }
  }
   zài zhè shì zhōngbiān huì dòng wéi strings duì xiàng diào yòng Add fāng jiāng chū shǐ zhí liè biǎo zhōng de suǒ yòu yuán jiā dào zhōngzhè men zhǐ shì jiǎn dān jiāng chū shǐ zhí liè biǎo zhōng de yuán shū chū dào kòng zhì tái
   liù xìng: Lambda biǎo shì
  C#2.0 zhōng jiā de míng dài jiǎn huà liǎo men biān xiě shì jiàn chǔlǐ hán shù de gōng zuòshǐ men zài yào dān shēng míng hán shù lái shì jiàn bǎng dìngzhǐ yào shǐ yòng delegate guān jiàn zài xiàn biān xiě shì jiàn chǔlǐ dài
   ér C#3.0 gèng jìn tōng guò Lambda biǎo shì men zhǒng gèng wéi jiǎn jié fāng shì biān xiě shì jiàn chǔlǐ dài xīn de Lambda shì jiàn chǔlǐ dài kàn shàng jiù xiàng suàn biǎo shì shǐ yòng "=>" hào lái lián jiē shì jiàn cān shù shì jiàn chǔlǐ dài zhè yàng xiě: SomeEvent+= shì jiàn cān shù => shì jiàn chǔlǐ dài ; xià miàn shì wán zhěng de shì
  delegateTAddDelegate<T>(Ta,Tb);
  classLambdaExpression:AppRunner.AbstractApplication
  {
  publicstaticeventEventHandlerMyEvent;
  publicoverridevoidRun()
  {
  MyEvent+=delegate(objects,EventArgse)
  {
  Console.WriteLine(s);
  };
  MyEvent+=(s,e)=>{Console.WriteLine(s);};
  MyEvent(this,null);
  AddDelegate<string>add=(a,b)=>a+b;
  Console.WriteLine(add("Lambda","Expression"));
  }
  }
   zài shàng miàn de zhōngfēn bié shǐ yòng liǎo míng dài Lambda biǎo shì lái shí xiàn tóng yàng de gōng néng míng xiǎn kàn chū Lambda biǎo shì de shí xiàn gèng wéi jiǎn jié men zài shǐ yòng Lambda biǎo shì biān xiě shì jiàn chǔlǐ dài shí zhǐ míng shì jiàn cān shù de lèi xíngqiě fǎn huí zhí jiù shì zuì hòu tiáo de zhí xíng jiēguǒ
   xìngkuò zhǎn fāng
   dāng men yào duì yòu lèi de gōng néng jìn xíng kuò zhǎn shí men tōng cháng huì xiǎng dào chéng chéng yòu lèirán hòu wéi jiā xīn de xíng wéiér C#3.0 zhōng jiā de kuò zhǎn fāng xìng gōng liǎo lìng zhǒng shí xiàn gōng néng kuò zhǎn de fāng shì men zài shǐ yòng chéng de qián xià shí xiàn duì yòu lèi běn shēn de kuò zhǎnzhè zhǒng fāng bìng huì chǎn shēng xīn de lèi xíngér shì cǎi yòng xiàng yòu lèi zhōng jiā xīn fāng de fāng shì lái wán chéng gōng néng kuò zhǎn
   zài duì yòu lèi jìn xíng kuò zhǎn shí men jiāng suǒ yòu kuò zhǎn fāng xiě zài jìng tài lèi zhōngzhè jìng tài lèi jiù xiāng dāng cún fàng kuò zhǎn fāng de róng suǒ yòu de kuò zhǎn fāng dōukě xiě zài zhè miànér qiě kuò zhǎn fāng cǎi yòng zhǒng quán xīn de shēng míng fāng shì: publicstatic fǎn huí lèi xíng kuò zhǎn fāng míng (this yào kuò zhǎn de lèi xíng sourceObj[, kuò zhǎn fāng cān shù liè biǎo ]), tōng fāng shēng míng fāng shì tóngkuò zhǎn fāng de cān shù this guān jiàn kāi shǐhòu gēn bèi kuò zhǎn de lèi xíng míngrán hòu cái shì zhēn zhèng de cān shù liè biǎoxià miàn shì shǐ yòng shì
  staticclassExtensions
  {
  publicstaticintToInt32(thisstringsource)
  {
  returnInt32.Parse(source);
  }
  publicstaticT[]Slice<T>(thisT[]source,intindex,intcount)
  {
  if(index<0||count<0||index+count>source.Length)
  {
  thrownewArgumentException();
  }
  T[]result=newT[count];
  Array.Copy(source,index,result,0,count);
  returnresult;
  }
  }
  classExtensionMethods:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  stringnumber="123";
  Console.WriteLine(number.ToInt32());
  int[]intArray=newint[]{1,2,3};
  intArray=intArray.Slice(1,2);
  foreach(variinintArray)
  Console.WriteLine(i);
  }
  }
   zài shàng miàn de shì zhōngjìng tài de Extensions lèi zhōng yòu liǎng kuò zhǎn fāng fāng shì duì string lèi de kuò zhǎn wéi string lèi jiā liǎo míng wéi ToInt32 de fāng gāi fāng méi yòu cān shùbìng fǎn huí int lèi xíng de zhí jiāng wán chéng shù xiàng zhěng shù de zhuǎn huànyòu liǎo zhè kuò zhǎn fāng zhī hòujiù duì rèn string lèi de duì xiàng diào yòng ToInt32 fāng liǎogāi fāng jiù xiàng běn shēn dìng de yàng
   'èr kuò zhǎn fāng shì fàn xíng fāng shì duì suǒ yòu shù lèi xíng de kuò zhǎngāi fāng wán chéng shù de qiē piàn cāo zuò
  C#3.0 zhōng de Linq biǎo shìjiù shì liàng yùn yòng kuò zhǎn fāng lái shí xiàn shù chá xún de
   xìng: Linq chá xún biǎo shì
  C#3.0 zhōng jiā de zuì wéi de xìng jiù shì Linq chá xún biǎo shì liǎozhè shǐ men zhí jiē cǎi yòng lèi SQL de duì jìn xíng chá xúnzhè jiù shǐ men xiǎng shòu dào guān shù chá xún de qiáng gōng néng
  Linq chá xún biǎo shì shì jiàn zài duō zhǒng C#3.0 de xīn xìng zhī shàng dezhè shì wèishénme zuì hòu cái jiè shào Linq de yuán yīnxià miàn kàn
  classLinqExpression:AppRunner.AbstractApplication
  {
  publicoverridevoidRun()
  {
  // dìng míng shù persons, bìng wéi chū zhí
  varpersons=new[]{
  new{Name="Van's",Sex=false,Age=22},
  new{Name="Martin",Sex=true,Age=30},
  new{Name="Jerry",Sex=false,Age=24},
  new{Name="Brog",Sex=false,Age=25},
  new{Name="Vicky",Sex=true,Age=20}
  };
  /*
   zhí xíng jiǎn dān Linq chá xún
   jiǎn suǒ suǒ yòu nián líng zài 24 suì nèi de rén
   chá xún jiēguǒ fàng zài results biàn liàng zhōng
  results biàn liàng de lèi xíng shù persons xiāng tóng
  */
  varresults=frompinpersons
  wherep.Age<=24
  selectp;
  foreach(varpersoninresults)
  {
  Console.WriteLine(person.Name);
  }
  Console.WriteLine();
  // dìng míng shù customers, bìng wéi chū zhí
  // gāi shù shì míng lèi xíng de
  varcustomers=new[]{
  new{
  Name="Van's",City="China",Orders=new[]{
  new{
  OrderNo=0,
  OrderName="C#ProgrammingLanguage(SecondEdition)",
  OrderDate=newDateTime(2007,9,5)
  },
  new{
  OrderNo=1,
  OrderName="HeadFirstDesignPatterns(ChineseEdition)",
  OrderDate=newDateTime(2007,9,15)
  },
  new{
  OrderNo=2,
  OrderName="ASP.netUnleashed2.0(ChineseEdition)",
  OrderDate=newDateTime(2007,09,18)
  },
  new{
  OrderNo=3,
  OrderName="TheC++ProgrammingLangauge(SpecialEdition)",
  OrderDate=newDateTime(2002,9,20)
  }
  }
  },
  new{
  Name="Brog",City="China",Orders=new[]{
  new{
  OrderNo=0,
  OrderName="C#ProgrammingLanguage(SecondEdition)",
  OrderDate=newDateTime(2007,9,15)
  }
  }
  },
  new{
  Name="Vicky",City="London",Orders=new[]{
  new{OrderNo=0,
  OrderName="C++ProgrammingLanguage(SpecialEdition)",
  OrderDate=newDateTime(2007,9,20)
  }
  }
  }
  };
  /*
   zhí xíng duō zhòng Linq chá xún
   jiǎn suǒ suǒ zài chéng shì wéi zhōng guó , qiě dìng dān wéi 2007 nián hòu de suǒ yòu
   chá xún jiēguǒ shì míng lèi xíng de shù
   zhōng bāo hán míng , dìng dān hào , dìng dān , dìng dān míng duàn
  */
  varsomeCustomers=fromcincustomers
  wherec.City=="China"
  fromoinc.Orders
  whereo.OrderDate.Year>=2007
  selectnew{c.Name,o.OrderNo,o.OrderDate,o.OrderName};
  foreach(varcustomerinsomeCustomers)
  {
  Console.WriteLine(
  customer.Name+","+customer.OrderName+","+
  customer.OrderDate.ToString("D")
  );
  }
  }
  }
   cóng shàng miàn de zhōng men kàn dào Linq chá xún de qiáng xìng yǔn men jìn xíng jiǎn dān chá xúnhuò zhě jìn xíng gèng wéi de duō zhòng lián jiē chá xúnqiě chá xún de jiēguǒ hái shì dìng de míng lèi xíng
.net 3.5 de xīn xìng
   xiē Web kāi xīn xìng zhī kuài zhǐ nán
    VS2008 de duō dìng xiàng zhī chí
  VS2008 yǔn gòu jiàn zhēn duì duō .net kuàng jià bǎn běn de yìng yòng cóng xià miàn de tiē jìn liǎo jiě zhōng de gōng zuò yuán
  VS2008Multi-TargetingSuort
  VS2008Web shè C zhī chí
  VS2008 bāo hán xiǎn zhù gǎi jìn de HTMLweb shè gāi shè gōng liǎo fēn shì biān jiqiàn tào bǎn chū de C chéng
  A.net hái gōng liǎo xīn de kòng jiàngāi kòng jiàn duì shù UI chǎng jǐng gōng liǎo fēi cháng líng huó de zhī chíyǔn duì shū chū de biāozhì zuò wán quán de dìng zhì VS2008 zhōng de xīn C zhī chí hái yòu liáng hǎo de xié zuò
  A.netAJAX JavaScript zhī chí
  .net3.5 nèi zhì gōng A.netAJAX, hái tiān jiā liǎo zhī chí Weart de UpdatePanel, zhī chí JSON de WCF, N quē xiàn xiū xìng néng gǎi jìn děng fāng miàn de xīn xìng。 VS2008 hái duì chéng JavaScript AJAX jìn de yìng yòng gōng liǎo bàng de zhī chí :
  VS2008JavaScriptIntellisee
  VS2008JavaScriptDebugging
   yán gǎi jìn LINQ
    VS2008 zhōng de xīn VB C# biān duì zhè xiē yán zuò liǎo xiǎn zhù de gǎi jìnliǎng zhě tiān jiā liǎo hán shù shì biān chéng gài niàn de zhī chíyǔn biān xiě gèng gān jìnggèng jiǎn jiégèng yòu biǎo xìng de dài zhè xiē xìng hái chéng liǎo men chēng zhī wéi LINQ( yán chéng chá xún ) de xīn biān chéng xíngshǐ chá xún cāo zuò shù chéng wéi .net zhōng de děng biān chéng gài niàn
   xià miàn shì zhuàn xiě de xiē tǎo lùn zhè xiē xīn yán xìng de wén zhāng ( yòng C# zuò wéi shì ):
   dòng shǔ xìngduì xiàng chū shǐ huà chū shǐ huà
   kuò zhǎn fāng
  Lambda biǎo shì
   chá xún
   míng lèi xíng
  LINQtoSQL zhōng de shù fǎng wèn gǎi jìn
  LINQtoSQL shì .net3.5 zhōng nèi zhì de OR/M( duì xiàng guān yìng shè )。 yǔn shǐ yòng .net duì xiàng xíng duì guān shù jìn xíng jiàn rán hòu shǐ yòng LINQ duì shù jìn xíng chá xún gēngxīnchā shān chú shù 。 LINQtoSQL wán zhěng zhī chí shì shì cún chǔ guò chéng hái gōng liǎo luó ji yàn zhèng guī jié jìn de shù xíng de jiǎn fāng shìxià miàn shì xiē tǎo lùn shǐ yòng LINQtoSQL de wén zhāng
  Part1:IntroductiontoLINQtoSQL
  Part2:DefiningourDataModelClaes
  Part3:QueryingourDatabase
  Part4:UpdatingourDatabase
  Part5:BindingUIusingtheA:LinqDataSourceControl
   huì zài hòu de zhōu nèi zài wǎng zhè liè tiān jiā piān wén zhāng rèn wéi huì xiàn LINQtoSQL xiǎn zhù jiǎn huà liǎo gòu jiàn fēi cháng gān jìng de shù xíng biān xiě gān jìng de shù dài
   shuō jìn de gǎi jìn
    shàng miàn de liè biǎo zhǐ shì suǒ zuò gǎi jìn de xiǎo fēnzhēn duì duān kāi , VS2008 bāo hán liǎo WPF shè xiàng zhī chí。 ClickOnce WPFXBA xiàn zài zài FireFox zhōng gōng zuò liǎo。 WinForms WPF xiàng xiàn zài néng shǐ yòng A.net yìng yòng ( chéng yuánjuésè yòng shù ) lái màn yóu yòng shù liǎobàn gōng kāi gèng jiā fēng liǎobāo kuò duì Office2007Rion de chéng zhī chí。 WCF Workflow xiàng shè bāo kuò zài VS2008 zhōng liǎodān yuán shì de wéi gāoér qiě dān yuán shì de zhī chí xiàn zài bāo kuò zài VSProfeional bǎn běn ( ér jǐn jǐn shì VSTS bǎn liǎo ) zhōng liǎolián chéng zhī chí xiàn zài nèi zhì TFS zhōng liǎo。 AJAXweb shì ( dān yuán ) xiàn zài yóu VSTest chǎn pǐn zhī chí liǎohái yòu duō duō duō de gǎi jìnzhè liǎo
   zhòng yào de 'ān zhuāng zhù shì xiàng
    zài 'ān zhuāng VS2008 .net3.5Beta2 zhī hòuhái yòu 2 jiàn zhòng yào de shì qíng yīnggāi shàng zuò
  1) yīnggāi xià zài yùn xíng zhè wén jiànzhè zhǐ yào miǎo zhōng jiù yùn xíng wán xiū liǎo zhè xīng zǎo xiē shí hòu men xiàn de System.Web.Exteio.dll bǎn běn zhèng de wèn gāi chéng bāo hán liǎo A.netAJAX。 guǒ yùn xíng zhè wén jiàn me yòng A.netAJAX1.0 VS2005 gòu jiàn de xiàn yòu de A.net2.0 xiàng jiù huì dòng yùn zài suí .net3.5Beta2 de xīn A.netAJAX bǎn běnzhè huì gōng zuò 'ér qiě yùn xíng liáng hǎodàn huì xiǎo xīn dǎo zhì de VS2005 yìng yòng lài .net3.5。 yùn xíng zhè wén jiàn huì gǎi biàn xīn de System.Web.Exteio.dll chéng de bǎn běn bǎng dìng zhèng què bǎo zhǐ zài míng què gòu jiàn .net3.5 xiàng shí cái shǐ yòng xīn de .net3.5A.netAJAX bǎn běn
  2) jiǎ céng jīng zài de shàng 'ān zhuāng guò Orcas huò VS2008 de zǎo bǎn běn (Beta1 huò mǒu CTP bǎn běn ) de huà yào zài 'ān zhuāng Beta2 hòu zhòng xīn shè dìng de VS2008 shè zhì guǒ zhè me zuò de huàyòu xiē shè zhì huì fēi cháng guài ( xiē chuāng kǒu zài chū xiàn zài guài de fāng ), yòu néng kàn dào xiē IDE xìng néng wèn zài mìng lìng xíng shàng duì VS2008 de IDE bǎn běn jiàn “ DevEnv/resetsettings” lái chóngxīn shè dìng de pèi zhì
   jiā
   xìn 'ān quán shì suàn yìng yòng de shǒu yào wèn zhī dàn qián guān .net jiā gōng néng de fàn què shǎo zhī yòu shǎoyòu jiàn běn wén tàn tǎo liǎo zài .net píng tái xià jiā / jiě wén jiàn de bān guò chéngbìng gōng liǎo jiā / jiě wén jiàn de gōng
  Web róng zhì de tài shì xùn zhǎn shǐ duō dān wèi kāi shǐ kǎo .net zhī lèi de kāi píng táidàn shìchū duì 'ān quán wèn de dān xīn xiē dān wèi zǒng shì duì cǎi yòng xīn shù xīn cún hǎo zài yòu duō chéng shú de 'ān quán wǎng luò shù yòu wǎng luò( VPN) fáng huǒ qiáng děngnéng gòu gāo Web yìng yòng de 'ān quán xìng néngràng kāi zhě yōng yòu xuǎn 'ān quán shù de yóuér shì fēi shǐ yòng shàng zài zhǎn zhī zhōng de XML 'ān quán shù
   suī rán 'ān quán shì xìn tǒng de shǒu yào wèn dàn yòu guān .net 'ān quán jiā gōng de fàn què shǎo zhī yòu shǎokàn kàn duō shù .net shū de zhǎo dào rèn yòu guān 'ān quán de gèng yòng shuō guān tǒng de tàn tǎo liǎo
   yòu jiàn běn wén jiāng jiè shào zài VB kāi zhōng yùn yòng .net de jiā yào shēng chéng lèi gōng yòng lái jiā jiě wén jiàn de gōng Cryption。 yòu liǎo zhè gōng jiù zài yìng pán shàng bǎo cún zhǒng wén jiàn suǒ yòu de / yòng míng xìn shōu zhī wén jiàn xiǎng yào bǎo de xìn hái jiā xiē tōng guò Internet sòng de wén jiànjiā shù de yòng fēi cháng guǎng fàn jìn dìng zhì běn wén gōng de gōng mǎn mǒu xiē shū yào zēng jiā chǔlǐ néng děng
   liǎng lèi zhòng yào de 'ān quán wēi xié
   gōng xiè shì suàn miàn lín de liǎng 'ān quán wēi xiégōng néng lái bìng huì shān chú wén jiànjiàng yùn xíng huò yǐn 'ān quán wèn xiāng zhī xiàxiè wǎng wǎng yào yǐn duō qīn hài de shì de yǐn wèi jīng shòu quán fǎng wèn yìng pán wén jiànjié tōng guò Internet sòng de yóu jiànděng děngxiè hái néng bàn suí zhe gōng xiū gǎi wén jiàn děng
   zhēn duì xiè de zuì jiā fáng fàn cuò shī jiù shì jiā yòu xiào de jiā jǐn jué liǎo xiè ér qiě hái fáng fàn liǎo yóu xiè yǐn de gōng jiā shù yòu shí hái yòng tōng xìn guò chéng zhōng de shēn fèn yàn zhèng héng héng guǒ mǒu yòng zhī dào me yīnggāi jiù shì yōng yòu zhè shēn fèn de rén
   rán 'ér shuō míng de shìméi yòu zhǒng fáng fàn xiè de 'ān quán shù shì jué duì jiān deyīn wéi yòu néng bèi wèi jīng shòu quán de rén huò
   èrshǐ yòng .net jiā gōng néng de qián
   shǒu xiānyào xiǎng shǐ yòng .net de 'ān quán gōng néngjiù yòng Imports yǐn jiā yòng de bāoshì yàn běn wén shè de rèn dài zhī qiánqǐng zài VB dài chuāng kǒu de dǐng jiā xià liè Imports
  ImportsSystem.IO
  ImportsSystem.Text
  ImportsSystem.Security.Cryptography
   'èrměi guó zhèng guò xiàn zhì mǒu xiē jiā shù chū kǒusuī rán zhè xiē xiàn zhì zài yòu xiào.net kuàng jià zài Windows de chū kǒu bǎn běn zhōng jìn yòng liǎogāo jiā shù guǒ de Windows dài gāo jiā néng cóng wēi ruǎn wǎng zhàn xià zài gēngxīn bāoduì Windows2000, ān zhuāng ServicePack2 bāo hán de HighEncryptionPack; duì NT, ān zhuāng ServicePack6a。 duì WindowsME、 95、 98 de yòng , IE5.5 bāo hán liǎo HighEncryptionPack。
   sānjiā / jiě gōng gài kuàng
   běn wén gōng de gōng yòng lái jiā jiě wén jiàn guǒ zhe gěi xiē wén jiàn jiā zhǐ zhí jiē dòng běn wén hòu miàn gōng de gōng
   zhè gōng gōng liǎo yòng lái shū wén jiàn míng de wén běn kuàng shū yào de wén běn kuàngtōng guò biàn jié de yòng jiè miàn gōng jiā jiě yào shēng chéng gōng néngzài zhōngshàng fāng de wén běn kuàng yòng lái shū dài jiā / jiě wén jiàn de míng xià miàn de wén běn kuàng yòng lái shū 8 de zhí xíng jiā cāo zuò zhī hòu jiāng shēng chéng xīn de wén jiànzhè jīng guò jiā de wén jiàn yuán shǐ wén jiàn zài tóng xiàwén jiàn míng yuán shǐ wén jiàn de yàngdàn jiā shàng liǎo“ xx” hòu zhuì jiǎ shè yuán shǐ wén jiàn shì MyFile.txt, jiā dào de wén jiàn shì MyFilexx.txt。
   jiā hǎo zhī hòuyuán shǐ wén jiàn dìng fēi shān chú dàn bān lái shuō zuì hǎo shān chúyīn wéi jiā de gēn běn mùdì jiù shì wèile yǐn cáng yuán shǐ wén jiàn de shù guǒ yào cóng jiā hòu de wén jiàn huī chū yuán shǐ wén jiànzài shàng miàn de wén běn kuàng zhōng shū MyFilexx.txt, rán hòu gōng , Cryption gōng jiāng chuàng jiàn yuán shǐ wén jiàn yàng de MyFile.txt wén jiàn jiù shì shuō, Cryption wén jiàn míng hòu miàn de“ xx” kàn zuò shì yào qiú jiě wén de biāo zhì
   zhù jiā wén jiàn zhī hòu guǒ wàng liǎo yòng lái jiā gāi wén jiàn de zài xiǎng huī chū yuán shǐ wén jiàn jiù néng liǎodāng ránzhè běn shēn de chéng yòu guānyào xiǎng bǎo zhèng wén jiàn de 'ān quánzuì hǎo cǎi yòng jiào de hùn yùn yòng shù shū “ $” hào děng)。
  .net gōng de jiā shù zhǐ zhǒng guò běn wén tǎo lùn de zhù yào shì duìchèn jiā duìchèn jiā chēng wéi yòu yào jiā de diǎn shì jiā jiě yòng de shì tóng yàoshí shàng shì tóng zhǒng suàn ), jiě fāng jiā fāng yòu rèn bǎo zhàng de 'ān quánduì gōng yòng yào duìchèn jiā yào gòng yòu liǎng zhōng yào shì gōng kāi dezhè shì dāng qián gōng rèn zuì yòu xiào de jiā shùdàn jiù 'ér yán yào duìchèn jiā suàn màn shǎo)。
   zài zhèng shì yòng .net jiā lèi jiā wén jiàn zhī qiánshǒu xiān cóng yòng gōng de shēng chéng yào yào yòng Hash hán shù shēng chéng, Hash hán shù yòng de chuàn zhuǎn huàn chéng lèi suí shù liè de de shù zhè shù zuò wéi yào shǐ yòngzài jiā guò chéng zhōng duì yuán shǐ shù jìn xíng wéi xìng biàn xíng chǔlǐ
   yòng yào jiā shù de zhǒng bàn shì yuán shǐ shù de ASCII jiā shàng yào de ASCII
   yào: ab=ASCII:97,98
   shù : merry=ASCII:109,101,114,114,121
   zhè shù de ASCII jiā shàng yào de ASCII yào shí chóngfù shǐ yòng yào), dào de jiā jiēguǒ shì
  9798979897
  +109+101+114+114+121
  206199211212218
   duì tóng yàng de shù , Hash suàn zǒng shì shēng chéng tóng yàng de jiēguǒzhè jiù shì shuōduì tóng tóng Hash suàn zǒng shì shēng chéng xiāng tóng de bit liè)。 shí shàngzài běn wén gōng de dài zhōng yòng .net de SHA1CryptoServiceProvider lèi de ComputeHash fāng yàn zhèng zhè diǎn duì tóng shū cān shù morph, rèn shí hòu gāi fāng zǒng shì fǎn huí xià miàn de jiēguǒ: 124, 230, 93, 253, 197, 206, 136, 72。 yīn guǒ yòu rén zhī dào shēng chéng yào de suàn qīng sōng tuī suàn chū yào
   zhí xíng jiā / jiě
  .net jiā shù yào qiú yào yòu què dìng de cháng , DES( DataEncryptionStandard) hán shù yào qiú yào de cháng shì 64 wèi, Rijndael yào qiú 128、 192 huò 256 wèi cháng de yào yào yuè chángjiā qiáng yuè gāoduì DES zhī wài de jiā suàn chá xún LegalKeySizes shǔ xìng dào yǔn de yào cháng bāo kuò MinSize( zhī chí de zuì xiǎo yào cháng )、 MaxSize( zuì yào cháng )、 SkipSize( zēng liàng)。 SkipSize biǎo shì yào zuì cháng zuì xiǎo cháng zhī jiān yòng cháng de jiàngé , Rijndael suàn de SkipSize zhí shì 64 wèi
   yòng xià miàn de dài dào yào de cháng xìn
  ' chuàng jiàn DES jiā duì xiàng
  DimdesAsNewDESCryptoServiceProvider()
  Dimfd()AsKeySizes
  fd=des.LegalKeySizes()'tellsusthesize(s),inbits
  MsgBox(" jiā lèi xíng ="&des.ToString()&Chr(13)&"minsize="&fd(0).MinSize&Chr(13)&_
  "maxsize="&fd(0).MaxSize&Chr(13)&"skipsize="&fd(0).SkipSize)
   yùn xíng shàng miàn de dài dào de jiēguǒ shì 64、 64、 0。 guǒ jiā duì xiàng de shēng míng gǎi chéng TripleDESCryptoServiceProvider(), dào de jiēguǒ shì 128、 192、 64。
   shuō míng: DES suàn yào qiú shū 8 jié de dàn shí shǐ yòng de yào zhǐ yòu 56 wèi( 7 jié), měi jié de zuì hòu wèi yòng zuò wéi jiàoyàn wèi shǐ yòngdàn yòng shí de jiā guò chéng)。
   xià miàn de dài kāi shǐ shēng chéng běn wén shì chéng de yào
  PublicClassForm1
  InheritsSystem.Windows.Forms.Form
  ' bǎo cún yào de 8 jié de shù
  PrivateTheKey(7)AsByte
  ' zài xiàng liàng zhōng fàng xiē suí shù
  PrivateVector()AsByte={&H12,&H44,&H16,&HEE,&H88,&H15,&HDD,&H41}
   shǒu xiāndài dìng liǎo bǎo cún yào chū shǐ xiàng liàngqǐng cān jiàn shāo hòu de xiáng shuō míngde liǎng biàn liàngxiàng liàng de chū zhí zhè yòng suí shù tián chōngdāng rántōng guò Hash suàn huò xiàng liàng de chū zhíxià miàn de guò chéng cóng yòng shū de chuàng jiàn chū yào
  SubCreateKey(ByValstrKeyAsString)
  ' bǎo cún yào de jié shù
  DimarrByte(7)AsByte
  DimAscEncodAsNewASCIIEncoding()
  DimiAsInteger=0
  AscEncod.GetBytes(strKey,i,strKey.Length,arrByte,i)
  ' huò de Hash zhí
  DimhashShaAsNewSHA1CryptoServiceProvider()
  DimarrHash()AsByte=hashSha.ComputeHash(arrByte)
  ' jiāng Hash zhí bǎo cún dào yào
  Fori=0To7
  TheKey(i)=arrHash(i)
  Nexti
  EndSub
   yòng de ( strKey) chuán dào CreateKey guò chéngfēn jiě chéng ASCII zhí bǎo cún dào jié shù zhè jié shù chuán gěi SHA1CryptoServiceProvider lèi de ComputeHash fāng fǎn huí Hash zhí zhè Hash zhí bǎo cún dào TheKey shù gōng hòu de jiā / jiě guò chéng shǐ yòngzhù SHA1CryptoServiceProvider shí néng gòu zhī chí 160 wèidàn běn wén shì chéng zhǐ yòng dào 64 wèi)。
   mechū shǐ xiàng liàng jiū jìng shénme zuò yòng zhè jié shù yòu 8 yuán jiù xiàng yào yàngdàn xiàng liàng yào de zuò yòng shì tóng dexiàng liàng yòng lái miǎn DES zhī lèi de suàn yòu de wèn zài DES zhī lèi de suàn zhōngyuán shǐ shù bèi fēn chéng 8 jié kuài rán hòu fēn bié chǔlǐ。 DES zài jiā kuài shù shíyào yòng dào qián kuài shù de shì jiù shì shuō guǒ gǎi dòng liǎo yuán shǐ shù zhōng kuài de mǒu suǒ yòu hòu de kuài de nèi róng jiāng suí zhī gǎi biàncóng 'ér miǎn liǎo liè xiāng lián jiē de kuài zhōng chū xiàn chóngfù kuài de wèn
   jiǎ shè shí gāo xīng liǎo yóu jiànnèi róng zhǐ yòu chóngfù de dān “ Melanie!Melanie!Melanie!Melanie!”, zài yào kuài liè zhōng qián kuài de gòng tóng zuò yòng xiàjiā zhī hòu de wén huì chū xiàn chóngfù xiàn xiàngrán 'érjìn kǎo zhè jiā guò chéng xiàn guǒ yòng tóng yào jiā duō yóu jiànqiě yóu jiàn kāi tóu de wèn hòu xiāng tóng yóu jiàn kāi tóu de fēn hěn róng shòu dào gōng yóu zhè yuán yīn men yòng chū shǐ xiàng liàng lái qián kuài
   běn wén jiā / jiě gōng zhōng de xià miàn zhè duàn dài shì fàn liǎo jiā wén jiàn
  SubEncrypt(ByValinNameAsString,ByValoutNameAsString)
  Try
  ' chuàng jiàn huǎn chōng
  Dimstorage(4096)AsByte
  ' jīng xiě de jié shù liàng
  DimtotalBytesWrittenAsLong=8
  ' měi xiě de jié shù liàng
  DimpackageSizeAsInteger
  ' shēng míng wén jiàn liú
  DimfinAsNewFileStream(inName,FileMode.Open,FileAccess.Read)
  DimfoutAsNewFileStream(outName,FileMode.OpenOrCreate,FileAccess.Write)
  fout.SetLength(0)
  ' yuán wén jiàn de xiǎo
  DimtotalFileLengthAsLong=fin.Length
  ' chuàng jiàn jiā duì xiàng
  DimdesAsNewDESCryptoServiceProvider()
  DimcrStreamAsNewCryptoStream(fout,_
  des.CreateEncryptor(TheKey,Vector),_
  CryptoStreamMode.Write)
  ' shū chū jiā hòu de wén jiàn
  WhiletotalBytesWritten<totalFileLength
  packageSize=fin.Read(storage,0,4096)
  crStream.Write(storage,0,packageSize)
  totalBytesWritten=Convert.ToInt32(totalBytesWritten+_
  packageSize/des.BlockSize*des.BlockSize)
  EndWhile
  crStream.Close()
  CatcheAsException
  MsgBox(e.Message)
  EndTry
  EndSub
   zhù zhè duàn dài chuàng jiàn liǎo sān wén jiàn liú: fin, biǎo shì míng wén xíng shì de yuán shǐ wén jiàn; fout, jiā jiēguǒ wén jiàn; crStream, jiā liúyòng lái DES jiā de jiēguǒ zhuǎn shū chū wén jiàn fout。 zēng jiā crStream liú de hǎo chù shì jiēguǒ bǎo cún dào lín shí wén jiàn huò huǎn chōng
   jiā guò chéng jiě guò chéng de wéi zhòng yào bié shìzhí xíng jiě shí men jiāng shǐ yòng DESCryptoServiceProvider duì xiàng de lìng fāng CreateDecryptor, chú zhī wàiliǎng zhě de chǔlǐ zhòubāo kuò cān shùwén jiàn liúděng děng běn xiāng tóng
   fáng zhǐ jiě
   hēi zhuān jiā jiě jiā wén jiàn de bàn zhù yào yòu liǎng shì sōu suǒ wén shì fǒu yòu chóngfù xiàn xiàng 'èr shì yòng bào jiě huò yàoshǒu xiān men kǎo xià chū shǐ xiàng liàng fáng zhǐ chóngfù xiàn xiàngrán hòu zài tàn tǎo xià fáng zhǐ bào jiě de guān jiàn wèn
   jiě wén de zhǒng fāng shì shì sōu suǒ yàng běn héng héng bié shì chóngfù de yàng běnrén men zài xiě xìn de shí hòu zǒng shì huān yòng tóng yàng de wén kāi tóu qīn 'ài de XXX”、“ DearSir” děng guǒ duō yóu jiàn de kāi tóu wén xiāng tóng qiě tōng guò tóng yào jiā měi wén xìn jiàn de kāi tóu xiāng tóngjiǎ shè Antonio xiě gěi Melanie de suǒ yòu jiā xìn jiàn dōuyòu xiāng tóng de wèn hòu “ @4^F(2$@Fx”, jiě zhě jiù huì shǒu xiān jiǎn chá kāi tóu de dān shì shì“ DearMelanie”。 jiě wén jiàn de zhòng yào zhòu jiù shì cāi wén jiàn zhōng yīngdāng huì chū xiàn de dān suǒ men yìng gāi gěi jiě zhě gōng zhè zhǒng fāng biànzài běn wén de shì zhōngchū shǐ xiàng liàng de nèi róng bèi jiā dào wén jiàn de kāi tóucóng 'ér fáng zhǐ liǎo chū xiàn chóngfù xiàn xiàngzhǐ yòu xìn jiàn de kāi tóu cái róng shòu dào lèi gōng
   suàn de yùn suàn jīng yào yuǎn yuǎn chāo guò rén bié shàn cháng chǔlǐ xiē chóngfù de rèn cháng shì měi zhǒng néng de yào zuì zhōng jiě yào。 DES jiā suàn běn shēn shì 'ān quán dezhè zhǒng jiā suàn zǎo zài 70 nián dài jiù jīng gōng zhī zhòngér qiě jiě zhě guǒ xiǎng yào ràng sōu suǒ yào de guò chéng dòng huàtóng yàng fāng biàn yùn yòng .net de DESCryptoServiceProvider lèi
   duì 128 wèijié yùn yòng yào / chū shǐ xiàng liàng de jiā fāng 'àn suàn cháng shì měi zhǒng néng de yào yào huā duō shǎo shí jiānzhuān jiā men de kàn bìng zhìyòu rén rèn wéi yào shù yuè yòu rén rèn wéi zhuāng yòu zhuān yòng yìng jiàn de jià zhí 6 wèi shù de suàn měi miǎo néng gòu yàn zhèng shù shí yào jiě DES wén zhǐ shù xiǎo shí guǒ de zhí huā shù yuè shí jiān jiě me zuì hǎo gǎi yòng TripleDES huò jiā suàn cóng TripleDES de míng cāi chūzhè zhǒng jiā fāng shì cǎi yòng sān zhòng shù jiā biāo zhǔn suàn suǒ yào de cháng shì 192 wèiér shì 64 wèi de DES yào zhùzài tiáo jiàn xiāng tóng de qíng kuàng xià yào yuè chángān quán chéng yuè gāo
   jié shù xiàn zài jīng liǎo jiě liǎo .NETDES jiā suàn de shǐ yòng guò chéngjiē xià yán jiū .net de 'ān quán gōng néngbāo kuò yǐn de gōng yòng yào jiā fāng 'ànsuī rán gōng yòng yào jiā fāng 'àn zhí xíng lái màn xiēdàn jiā xiào guǒ bān yào TripleDES hǎoběn rén méi yòu shénme zhí yùn yòng DES zhī wài de suàn guò de yào qiú néng yòu suǒ tóng
   jié
    zài VS2008 .net3.5 zhōng wàng huì xiàn duō duō fēi cháng yòu yòng de xīn gǎi jìn gōng néng zēng qiángjìng qǐng zài xià xīng shōu kàn de jiāng duì zhè xiē xīn xìng zuò xiáng tǎo lùn tǎo lùn chōng fēn yòng zhè xiē xīn xìng
fēnlèixiángqíng
.net&a=0&k=48"> gèng duō jiēguǒ ...
duàn yán shòu quán xié dìng tíng kào lèi xíng 'ān quán
fàn xíng lèi guān lián lèi pèi zhì wén jiàn gòu zào lèi xíng duàn
máo dìng jià gòu yìng yòng chéng wài yàng shì biǎo ān quán biāozhì
shù bǎng dìng tuō guǎn shù qiáng míng chēng lèi yìng yòng chéng
chéng shēn fèn yàn zhèng gōng gòng yán yùn xíng suǒ fēng zhuāng
wài jiàn quán chéng huǎn cún qiáng zhì xìng 'ān quán jiǎn chá yǎn yuán shù
fēn biān zhèng biǎo shì yùn xíng yòng kòng jiàn
zhí lèi xíng fǎng wèn kòng zhì liè biǎo gōng gòng xìn xíng cāo zuò gōng zuò
fàn xíng suō lüè xìng huà shè zhì zhàn diǎn dǎo háng chǔlǐ chéng
shàng xià wén méi chéng qīng dān dìng shǔ xìng mìng míng róng
shēng cún yòu shì zhuàng tài dòng yòng kòng jiàn dìng kòng jiàn fēi tuō guǎn dài
nèi yàng shì biǎo gòng xiǎng chéng dài yǐn cáng lèi shè bèi shì pèi zhuān yòng chéng