正在阅读:由C++转向C#需要注意的变化(四)由C++转向C#需要注意的变化(四)

2004-11-18 15:52 出处:CSDN 作者:AustinLei 责任编辑:linjixiong

  现在,只要其中有数据就读取该流,并将结果输出到控制台上。


  do
  {
  outputString=streamReader.ReadLine();

  if(outputString!=null)
  {
  Console.WriteLine(outputString);
  }
  }
  while(outputString!=null);

  为了对这一段代码进行测试,可以创建如下一个测试用的文件:


  Thisislineone
  Thisislinetwo
  Thisislinethree
  Thisislinefour

  这是来自服务器的输出:


  Output(Server)
  Clientconnected
  SendingThisislineone
  SendingThisislinetwo
  SendingThisislinethree
  SendingThisislinefour
  Disconnectingfromclient...
  Exiting...

  下面是来自客户端的输出:


  Thisislineone
  Thisislinetwo
  Thisislinethree
  Thisislinefour 

  属性和元数据

  C#和C++之间一个显著的区别是它提供了对元数据的支持:有关类、对象、方法等其他实体的数据。属性可以分为二类:一类以CLR的一部分的形式出现,另一种是我们自己创建的属性,CLR属性用来支持串行化、排列和COM协同性等。一些属性是针对一个组合体的,有些属性则是针对类或界面,它们也被称作是属性目标。

  将属性放在属性目标前的方括号内,属性就可以作用于它们的属性目标。


  [assembly:AssemblyDelaySign(false)]
  [assembly:AssemblyKeyFile(".\\keyFile.snk")]

  或用逗号将各个属性分开:


  [assembly:AssemblyDelaySign(false),
  assembly:AssemblyKeyFile(".\\keyFile.snk")]

  自定义的属性

  我们可以任意创建自定义属性,并在认为合适的时候使用它们。假设我们需要跟踪bug的修复情况,就需要建立一个包含bug的数据库,但需要将bug报告与专门的修正情况绑定在一块儿,则可能在代码中添加如下所示的注释:


  //Bug323fixedbyJesseLiberty1/1/2005.

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品