C#语言特性-创新互联

1 不支持将类型float隐式转换为int,毕竟会导致精度缺失,当然在C++语言中是允许的

成都创新互联是一家专业的成都网站建设公司,我们专注成都做网站、网站建设、网络营销、企业网站建设,友情链接1元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。

代码

  class Program

  {

      static void Main(string[] args)

      {

          float aa = 3;

          int aaa = aa;

       }

   }

  

2 foreach不支持对遍历对象属性的修改

参考

http://www.cnblogs.com/chensuqian/p/4882207.html

http://www.cnblogs.com/jobs/archive/2004/07/17/25218.aspx

3 struct结构体变量是一种不可以为null值的类型

代码

  public struct TreeNode

  {

      public int data;

      public TreeNode leftChild;

      public TreeNode rightChild;

      public TreeNode parent;

  }

尝试定义一棵树的节点,其中指向左右节点和双亲节点,编译出错:变量是一种不可以为null值的类型

正确

  public class TreeNode

  {

      public int data;

      public TreeNode leftChild;

      public TreeNode rightChild;

      public TreeNode parent;

  }

4 修饰符“static”对该项无效

类方法的局部变量添加static关键字,再编译时 C# 编译器会报告以下错误:error CS0106: 修饰符“static”对该项无效

  C# 语言不允许使用 static 修饰符来声明方法内部的变量。但是在 C/C++ 语言中是允许这么做的。因此只能在类中定义一个静态变量成员,然后提供给类方法调用

5不可访问,因为它受保护级别限制

  为了访问结构体定义的成员,定义在结构体的public允许命名空间之外进行访问,如果需要访问结构体的变量成员,还必须在定义之前添加public关键字,这一点跟C++完全不一样

代码

  public struct Link

  {

      public int startNodeID;

      public int endNodeID;

      public bool forward;

      public bool backward;

      public int length;

      public int roadClass;

  }

6 非泛型“***”不能与类型实参一起使用的错误

原因

   缺少包含:using System.Collections.Generic;

代码

  public class Cost

  {

      public double cost;

      public int id;

  }

  public class CostComparer : IComparer

  {

      public int Compare(Cost x, Cost y)

      {

          if (x.cost - y.cost < 1e-10)

          {

              return -1;

          }

          else

          {

              return 1;

          }

      }

  }

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站标题:C#语言特性-创新互联
本文来源:http://azwzsj.com/article/iohss.html