是否使用名称空间线程?

时间:2014-06-25 18:57:46

标签: c# visual-studio-2008

有两种方法可以编写这段代码,其中包含命名空间Threading中的睡眠方法。

using System;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
        Timespan interval = new Timespan(0,0,2);
        //Creating a Timespan which is 2 seconds.
        for (int i = 0; i < 21; i++) ;
        {
        System.Threading.Thread.Sleep(interval);
        //Making my thread go to sleep for two seconds.
        Console.WriteLine("Hello world!");
        }

    }
  }
}

但是,您也可以这样做

using System;
using System.Threading; 
//Added the namespace in which the method Sleep comes from.

namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        TimeSpan interval = new TimeSpan(0, 0, 2);
        for (int i = 0; i < 21; i++)
        {
        Thread.Sleep(interval); 
        //This line does the same as the one above.
        Console.WriteLine("Hello world!");
        }

     }
   }
 }

我知道您应该避免使用命名空间,因为如果您使用两个具有相同方法的库,则可能会产生冲突。

使用/不使用命名空间还有其他原因吗? 表演等?

1 个答案:

答案 0 :(得分:3)

请参阅:using Directive (C# Reference)

  

允许在命名空间中使用类型,以便您不必使用   限定在该命名空间中使用类型

对于您的陈述:

  

我知道您应该避免使用命名空间,因为它   如果您使用两个具有相同的库,则可能会产生冲突   其中的方法

这是不正确的。在代码中不使用名称空间会在代码中产生更多噪音。想象一下,在任何地方写System.Data.SqlClient.SqlConnectione而不是SqlConnection

如果它们在命名空间中存在冲突,那么您始终可以使用代码显式指定命名空间,或者使用using指令使用别名。