VB和c语法对照_第1页
VB和c语法对照_第2页
VB和c语法对照_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VB.NETProgramStructureC#usingSystem;ImportsSystemNamespaceHelloClassHelloWorldOverloadsSharedSubMain(ByValargs()AsString)DimnameAsString="VB.NET"namespaceHellopublicclassHelloWorldpublicstaticvoidMain(string口args)stringname="C#”;'SeeifanargumentwaspassedfromthecommandlineIfargs.Le

2、ngth=1Thenname=args(0)/Seeifanargumentwaspassedfromthecommandlineif(args.Length=1)name=args0;Console.WriteLine("Hello,"&name&Console.WriteLine("Hello,"+name+"!");"!")EndSubEndClassEndNamespaceVB.NETCommentsC#/Singleline/*Multiple'Singlelineonlyline

3、*/REMSinglelineonly/<summary>XMLcommentsonsingle'''<summary>XMLcomments</summary>line</summary>/*<summary>XMLcommentsonmultiplelines</summary>*/DataTypesC#ValueTypesBooleanByte,SByteCharShort,UShort,Integer,Ulnteger,Long,ULongSingle,DoubleDecimalDateRe

4、ferenceTypesValueTypesboolbyte,sbytecharshort,ushort,int,uint,long,ulongfloat,doubledecimalDateTime(notabuilt-inC#type)ReferenceTypesobjectObjectInitializingInitializingDimcorrectAsBoolean=Trueboolcorrect=true;DimbAsByte=&H2A'hexDimoAsByte=&O52'octalbyteb=0x2A;/hexDimpersonAsObject=N

5、othingobjectperson=null;DimnameAsString="Dwight"stringname="Dwight"DimgradeAsChar="B"cchargrade='B'DimtodayAsDate=#12/31/200712:15:00DateTimetoday=DateTime.Parse("12/31/2007PM#12:15:00");DimamountAsDecimal=35.99decimalamount=35.99m;DimgpaAsSingle=2.9!f

6、loatgpa=2.9f;DimpiAsDouble=3.14159265doublepi=3.14159265;DimlTotalAsLong=123456LlonglTotal=123456L;DimsTotalAsShort=123SshortsTotal=123;DimusTotalAsUShort=123USushortusTotal=123;DimuiTotalAsUInteger=123UIuintuiTotal=123;DimulTotalAsULong=123ULulongulTotal=123;TypeInformationTypeInformationDimxAsInte

7、gerintx;Console.WriteLine(x.GetType()'PrintsConsole.WriteLine(x.GetType();/PrintsSystem.Int32System.Int32Console.WriteLine(GetType(Integer)'PrintsConsole.WriteLine(typeof(int);/PrintsSystem.Int32System.Int32Console.WriteLine(TypeName(x)'PrintsConsole.WriteLine(x.GetType().Name);/printsIn

8、tegerInt32TypeConversionTypeConversionDimdAsSingle=3.5floatd=3.5f;DimiAsInteger=CType(d,Integer)'setto4(Banker'srounding)i=CInt(d)'sameresultasCTypei=Int(d)'setto3(Intfunctiontruncatesthedecimal)inti=(int)d;/setto3(truncatesdecimal)VB.NETConstantsC#ConstMAX_STUDENTSAsInteger=25consti

9、ntMAX_STUDENTS=25;'Cansettoaconstorvar;maybeinitializedin/Cansettoaconstorvar;maybeinitializedinaaconstructorconstructorReadOnlyMIN_DIAMETERAsSingle=4.93readonlyfloatMIN_DIAMETER=4.93f;StringstringVB.NETEnumerationsC#EnumActionStartStop'StopisareservedwordRewindForwardEndEnumEnumStatusFlunk=

10、50Pass=70Excel=90EndEnumDimaAsAction=Action.StopIfa<>Action.StartThen_Console.WriteLine(a.ToString&"is"&a)Prints"Stopis1"Console.WriteLine(Status.Pass)'Prints70Console.WriteLine(Status.Pass.ToString()PrintsPassenumAction(Start,Stop,Rewind,Forward);enumStatus(Flu

11、nk=50,Pass=70,Excel=90);Actiona=Action.Stop;if(a!=Action.Start)Console.WriteLine(a+"is"+(int)a);/Prints"Stopis1"Console.WriteLine(int)Status.Pass);/Prints70Console.WriteLine(Status.Pass);/PrintsPassVB.NETOperatorsC#Comparison=<><=>=<>Arithmetic+-*/Mod(integerdiv

12、ision)&(raisetoapower)Assignment=+=-=*=/=人=<<=>>=&=BitwiseAndOrXorNot<<>>LogicalAndAlsoOrElseAndOrXorNotNote:AndAlsoandOrElseperformshort-circuitlogicalevaluationsStringConcatenation&Comparison=<><=>=!=Arithmetic+-*/%(mod)/(integerdivisionifbothoperand

13、sareints)Math.Pow(x,y)Assignment=+=-=*=/=%=&=|=人=<<=>>=+-Bitwise&|人<<>>Logical&&|&|人!Note:&&and|performshort-circuitlogicalevaluationsStringConcatenation+VB.NETChoicesC#greeting=Ilf(age<20,"What'sup?","Hello")greeting=age

14、<20?"What'sup?":"Hello"'Onelinedoesn'trequire"EndIf"Ifage<20Thengreeting="What'sup?"Ifage<20Thengreeting="What'sup?"Elsegreeting="Hello"if(age<20)greeting="What'sup?"elsegreeting="Hello&quo

15、t;'Use:toputtwocommandsonsamelineIfx<>100Andy<5Thenx*=5:y*=2'PreferredIfx<>100Andy<5Thenx*=5y*=2EndIf'Tobreakupanylongsinglelineuse_IfwhenYouHaveAReally<longLineAnd_itNeedsToBeBrokenInto2>LinesThen_UseTheUnderscore(charToBreakItUp)/Multiplestatementsmustbeenclosed

16、in(if(x!=100&&y<5)(x*=5;y*=2;Noneedfor_or:since;isusedtoterminateeachstatement.'Ifx>5Thenx*=yElseIfx=5Thenx+=yElseIfx<10Thenx-=yElsex/=yEndIfif(x>5)x*=y;elseif(x=5)x+=y;elseif(x<10)x-=y;elsex/=y;SelectCasecolor'MustbeaprimitivedatatypeCase"pink","red&quo

17、t;r+=1Case"blue"b+=1Case"green"g+=1CaseElseother+=1EndSelect/Everycasemustendwithbreakorswitch(color)(stringcase"pink":case"red":r+;break;case"blue":b+;break;case"green":g+;break;default:other+;break;ondefaultgotocase/Mustbeintegeror/breakn

18、ecessaryVB.NETLoopsC#Pre-testLoops:Whilec<10c+=1EndWhileDoWhilec<10c+=1LoopDoUntilc=10c+=1LoopForc=2To10Step2Console.WriteLine(c)NextPre-testLoops:/no"until"keywordwhile(c<10)c+;for(c=2;c<=10;c+=2)Console.WriteLine(c);Doc+=1LoopUntilc=10Post-testLoop:doc+;while(c<10);Post-te

19、stLoops:Doc+=1LoopWhilec<10'ArrayorcollectionloopingDimnamesAsString()="Fred","Sue","Barney")ForEachsAsStringInnamesConsole.WriteLine(s)Next'BreakingoutofloopsDimiAsInteger=0While(True)If(i=5)ThenExitWhilei+=1EndWhile'ContinuetonextiterationFori=0To4Ifi&l

20、t;4ThenContinueForConsole.WriteLine(i)'Onlyprints4Next/Arrayorcollectionloopingstringnames="Fred","Sue","Barney");foreach(stringsinnames)Console.WriteLine(s);/Breakingoutofloopsinti=0;while(true)if(i=5)break;i+;)/Continuetonextiterationfor(i=0;i<5;i+)if(i<4)co

21、ntinue;Console.WriteLine(i);/Onlyprints4)VB.NETArraysC#Dimnums()AsInteger=(1,2,3)ForiAsInteger=0Tonums.Length-1Console.WriteLine(nums(i)Next'4istheindexofthelastelement,soitholds5elementsDimnames(4)AsStringnames(0)="David"names(5)="Bobby"'ThrowsSystem.IndexOutOfRangeExcep

22、tion'Resizethearray,keepingtheexistingvalues(Preserveisoptional)ReDimPreservenames(6)DimtwoD(rows-1,cols-1)AsSingletwoD(2,0)=4.5Dimjagged()()AsInteger=(_NewInteger(4)(),NewInteger(1)(),NewInteger(2)()jagged(0)(4)=5intnums=(1,2,3);for(inti=0;i<nums.Length;i+)Console.WriteLine(numsi);/5isthesiz

23、eofthearraystringnames=newstring5;names0="David"names5="Bobby"/ThrowsSystem.IndexOutOfRangeException/C#can'tdynamicallyresizeanarray.Justcopyintonewarray.stringnames2=newstring7;Array.Copy(names,names2,names.Length);/ornames.CopyTo(names2,0);float,twoD=newfloatrows,cols;twoD2

24、,0=4.5f;intjagged=newint3(newint5,newint2,newint3);jagged04=5;VB.NETFunctionsC#'Passbyvalue(in,default),reference(in/out),andreference(out)SubTestFunc(ByValxAsInteger,ByRefyAsInteger,ByRefzAsInteger)x+=1y+=1z=5EndSubDima=1,b=1,cAsInteger'csettozerobydefaultTestFunc(a,b,c)Console.WriteLine(&q

25、uot;(0)(1)(2)",a,b,c)'125'AcceptvariablenumberofargumentsFunctionSum(ByValParamArraynumsAsInteger()AsIntegerSum=0ForEachiAsIntegerInnumsSum+=i/Passbyvalue(in,default),reference(in/out),andreference(out)voidTestFunc(intx,refinty,outintz)(x+;y+;z=5;)inta=1,b=1,c;/cdoesn'tneedinitializ

26、ingTestFunc(a,refb,outc);Console.WriteLine("(0)(1)(2)",a,b,c);/125/AcceptvariablenumberofargumentsintSum(paramsintnums)(intsum=0;foreach(intiinnums)sum+=i;returnsum;)Nextinttotal=Sum(4,3,2,1);/returns10EndFunction'OruseReturnstatementlikeC#/*C#doesn'tsupportoptionalDimtotalAsIntege

27、r=Sum(4,3,2,1)'arguments/parameters.Justcreatetwodifferentversionsofthesamefunction.*/returns10voidSayHello(stringname,stringprefix)'OptionalparametersmustbelistedlastandConsole.WriteLine("Greetings,"+prefix+""+name);musthaveadefaultvalueSubSayHello(ByValnameAsString,Opti

28、onalByValprefixAsString="")voidSayHello(stringname)Console.WriteLine("Greetings,"&prefix&""SayHello(name,"");&name)EndSubSayHello("Strangelove","Dr.")SayHello("Madonna")VB.NETStringsC#SpecialcharacterconstantsvbCrLf,vb

29、Cr,vbLf,vbNewLinevbNullStringvbTabvbBackvbFormFeedvbVerticalTab""'Stringconcatenation(use&or+)DimschoolAsString="Harding"&vbTabschool=school&"University"'schoolis"Harding(tab)University"'CharsDimletterAsChar=school.Chars(0)'letteris

30、HEscapesequencesr/carriage-returnn/line-feedt/tab/backslash"/quote/Stringconcatenationstringschool="Hardingt"school=school+"University"(tab)University"/Charscharletter=school0;/schoolis"Harding/letterisHletter=Convert.ToChar(65)'letterisAletter=Convert.ToChar(6

31、5);letter=(char)65;/letterisA/samethingletter=Chr(65)'samethingDimword()AsChar=school.ToCharArray()'wordholdsHarding'NostringliteraloperatorDimmsgAsString="Fileisc:tempx.dat"!charword=school.ToCharArray();/wordholdsHarding/Stringliteralstringmsg="Fileisc:tempx.dat"/sa

32、measstringmsg="Fileisc:tempx.dat"/Stringcomparisonstringmascot="Bisons"'StringcomparisonDimmascotAsString="Bisons"If(mascot="Bisons")Then'trueIf(mascot.Equals("Bisons")Then'trueIf(mascot.ToUpper().Equals("BISONS")ThentrueIf(masc

33、ot.CompareTo("Bisons")=0)ThentrueConsole.WriteLine(mascot.Substring(2,3)'Prints"son"'StringmatchingIf("John3:16"Like"JoHh?#:*”)Then'trueImportsSystem.Text.RegularExpressions'MorepowerfulthanLikeDimrAsNewRegex("JohH.d:*")If(r.Match("Jo

34、hn3:16").Success)Then'true'Mybirthday:Oct12,1973DimdtAsNewDateTime(1973,10,12)DimsAsString="Mybirthday:"&dt.ToString("MMMdd,yyyy")'MutablestringDimbufferAsNewSystem.Text.StringBuilder("two")buffer.Append("three")buffer.Insert(0,"one&q

35、uot;)buffer.Replace("two","TWO")Console.WriteLine(buffer)'Prints"oneTWOthree"if(mascot="Bisons")/trueif(mascot.Equals("Bisons")/trueif(mascot.ToUpper().Equals("BISONS")/trueif(mascot.CompareTo("Bisons")=0)/trueConsole.WriteLin

36、e(mascot.Substring(2,3);/Prints"son"/Stringmatching/NoLikeequivalent-useregularexpressionsusingSystem.Text.RegularExpressions;Regexr=newRegex("JohH.d:*");if(r.Match("John3:16").Success)/true/Mybirthday:Oct12,1973DateTimedt=newDateTime(1973,10,12);strings="Mybirthda

37、y:"+dt.ToString("MMMdd,yyyy");/MutablestringSystem.Text.StringBuilderbuffer=newSystem.Text.StringBuilder("two");buffer.Append("three");buffer.Insert(0,"one");buffer.Replace("two","TWO");Console.WriteLine(buffer);/Prints"oneTWOthre

38、e'ThrowanexceptionDimexAsNewException("Somethingisreallywrong.")Throwex/ThrowanexceptionExceptionup=newException("Somethingisreallywrong.");throwup;/hahaExceptionHandlingC#'Catchanexception/CatchanexceptionTrytry(y=0y=0;x=10/yx=10/y;CatchexAsExceptionWheny=0'Argument)

39、andWhenisoptionalcatch(Exceptionex)(/Argumentisoptional,noConsole.WriteLine(ex.Message)FinallyBeep()EndTry'DeprecatedunstructurederrorhandlingOnErrorGoToMyErrorHandler.MyErrorHandler:Console.WriteLine(Err.Description)"When"keywordConsole.WriteLine(ex.Message);finally/Requiresreferencet

40、otheMicrosoft.VisualBasic.dll/assembly(pre.NETFrameworkv2.0)Microsoft.VisualBasic.Interaction.Beep();NamespaceHarding.Compsci.Graphics.EndNamespace'orNamespaceHardingNamespaceCompsciNamespaceGraphics.EndNamespaceEndNamespaceEndNamespaceImportsHarding.Compsci.GraphicsnamespaceHarding.Compsci.Grap

41、hics./ornamespaceHardingnamespaceCompscinamespaceGraphics.usingHarding.Compsci.Graphics;VB.NETNamespacesC#VB.NETClasses/InterfacesC#AccessibilitykeywordsPublicPrivateFriendProtectedProtectedFriendShared'InheritanceClassFootballGameInheritsCompetition.EndClass'InterfacedefinitionInterfaceIAla

42、rmClockAccessibilitykeywordspublicprivateinternalprotectedprotectedinternalstatic/InheritanceclassFootballGame:Competition./InterfacedefinitioninterfaceIAlarmClockEndInterface/ExtendinganinterfaceInterfacelAlarmClockInheritsIClock EndInterface/InterfaceimplementationClassWristWatchImplementsIAlarmCl

43、ock,ITimer EndClass)/ExtendinganinterfaceinterfaceIAlarmClock:IClock( )/InterfaceimplementationclassWristWatch:IAlarmClock,ITimer( )VB.netConstructors/DestructorsC#ClassSuperHeroPrivate_powerLevelAsIntegerPublicSubNew()_powerLevel=0EndSubPublicSubNew(ByValpowerLevelAsInteger)Me._powerLevel=powerLeve

44、lEndSubProtectedOverridesSubFinalize()'DesctructorcodetofreeunmanagedresourcesMyBase.Finalize()EndSubEndClassclassSuperHero(privateint_powerLevel;publicSuperHero()(_powerLevel=0;)-publicSuperHero(intpowerLevel)(this._powerLevel=powerLevel;SuperHero()(/Destructorcodetofreeunmanagedresources./Impl

45、icitlycreatesaFinalizemethodUsingObjectsC#DimheroAsSuperHero=NewSuperHero'orDimheroAsNewSuperHeroWithhero Name="SpamMan"PowerLevel=3EndWithSuperHerohero=newSuperHero();/No"With"constructhero.Name="SpamMan"hero.PowerLevel=3;hero.Defend("LauraJones")hero.Def

46、end("LauraJones");hero.Rest()'CallingSharedmethod'orSuperHero.Rest()Dimhero2AsSuperHero=hero'Bothreferencethesameobjecthero2.Name="WormWoman"Console.WriteLine(hero.Name)'PrintsWormWomanhero=Nothing'FreetheobjectIfheroIsNothingThen_hero=NewSuperHeroDimobjAsObje

47、ct=NewSuperHeroIfTypeOfobjIsSuperHeroThen_Console.WriteLine("IsaSuperHeroobject.")'MarkobjectforquickdisposalUsingreaderAsStreamReader=File.OpenText("test.txt")DimlineAsString=reader.ReadLine()WhileNotlineIsNothingConsole.WriteLine(line)line=reader.ReadLine()EndWhileEndUsingS

48、uperHero.Rest();/CallingstaticmethodSuperHerohero2=hero;/Bothreferencethesameobjecthero2.Name="WormWoman"Console.WriteLine(hero.Name);/PrintsWormWomanhero=null;/Freetheobjectif(hero=null)hero=newSuperHero();Objectobj=newSuperHero();if(objisSuperHero)Console.WriteLine("IsaSuperHeroobje

49、ct.");/Markobjectforquickdisposalusing(StreamReaderreader=File.OpenText("test.txt")stringline;while(line=reader.ReadLine()!=null)Console.WriteLine(line);VB.NETStructsC#StructureStudentRecordPublicnameAsStringPublicgpaAsSinglePublicSubNew(ByValnameAsString,ByValgpaAsSingle)M=name

50、Me.gpa=gpaEndSubEndStructureDimstuAsStudentRecord=NewStudentRecord("Bob",3.5)Dimstu2AsStudentRecord=="Sue"Console.WriteLine()'PrintsBobConsole.WriteLine()'PrintsSuestructStudentRecordpublicstringname;publicfloatgpa;publicStudentRecord(stringna

51、me,floatgpa)=name;this.gpa=gpa;StudentRecordstu=newStudentRecord("Bob",3.5f);StudentRecordstu2=stu;="Sue"Console.WriteLine();/PrintsBobConsole.WriteLine();/PrintsSueVB.NETPropertiesC#privateint_size;publicintSizegetreturn_size;setif(value<0)_

52、size=0;else_size=value;foo.Size+;Private_sizeAsIntegerPublicPropertySize()AsIntegerGetReturn_sizeEndGetSet(ByValValueAsInteger)IfValue<0Then_size=0Else_size=ValueEndIfEndSetEndPropertyfoo.Size+=1VB.NETDelegates/EventsC#DelegateSubMsgArrivedEventHandler(ByValmessageAsString)EventMsgArrivedEventAsM

53、sgArrivedEventHandler'ortodefineaneventwhichdeclaresadelegateimplicitlyEventMsgArrivedEvent(ByValmessageAsString)AddHandlerMsgArrivedEvent,AddressOfMy_MsgArrivedCallback'Won'tthrowanexceptionifobjisNothingRaiseEventMsgArrivedEvent("Testmessage")RemoveHandlerMsgArrivedEvent,Addr

54、essOfMy_MsgArrivedCallbackImportsSystem.Windows.FormsDimWithEventsMyButtonAsButton'WithEventscan'tbeusedonlocalvariableMyButton=NewButtonPrivateSubMyButton_Click(ByValsenderAsSystem.Object,_delegatevoidMsgArrivedEventHandler(stringmessage);eventMsgArrivedEventHandlerMsgArrivedEvent;/Delegate

55、smustbeusedwitheventsinC#MsgArrivedEvent+=newMsgArrivedEventHandler(My_MsgArrivedEventCallback);MsgArrivedEvent("Testmessage");/ThrowsexceptionifobjisnullMsgArrivedEvent-=newMsgArrivedEventHandler(My_MsgArrivedEventCallback);usingSystem.Windows.Forms;ButtonMyButton=newButton();MyButton.Cli

56、ck+=newSystem.EventHandler(MyButton_Click);privatevoidMyButton_Click(objectsender,System.EventArgse)MessageBox.Show(this,"Buttonwasclicked","Info",ByValeAsSystem.EventArgs)HandlesMessageBoxButtons.OK,MyButton.ClickMessageBoxIcon.Information);MessageBox.Show(Me,"Buttonwasclic

57、ked","Info",_MessageBoxButtons.OK,MessageBoxIcon.Information)EndSubVB.NETConsoleI/OC#Console.Write("What'syourname?")DimnameAsString=Console.ReadLine()Console.Write("Howoldareyou?")DimageAsInteger=Val(Console.ReadLine()Console.WriteLine("0is1yearsold.",name,age)'orConsole.WriteLine(name&"is"&age&"yearsold.")DimcAsIntegerConsole

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论