通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

C# 中的 public、static 和 void 关键字有什么区别

在C#编程语言中,publicstaticvoid都是关键字,但它们具有不同的目的和用途。public是一个访问修饰符,表示类或类的成员可以从任何地方访问;static指定某一成员属于类型本身,而不是某个对象实例;而void是一个返回类型,表示方法不返回任何值。理解这三个关键字的核心差异对于编写高效和准确的C#代码至关重要。

1、public: 访问修饰符

C#中的public关键字是一个访问修饰符。使用它可以确保类、结构、枚举或接口可以从其他任何代码位置访问。如果没有指定访问修饰符,将默认为private。使用public是为了使某些代码元素向外公开,并能够在其他地方使用。

例子:

public class HelloWorld { public string Greet() { return "Hello, World!"; } }

2、static: 类型级别的成员

static关键字在C#中用于声明一个静态成员。这意味着这个成员属于类本身,而不是类的某个实例。因此,静态成员在内存中只有一个副本,不需要创建类的实例就可以访问它。

例子:

public class Calculator { public static int Add(int a, int b) { return a + b; } } // 调用方法 int result = Calculator.Add(5, 3);

3、void: 无返回的方法

void关键字在C#中表示方法不返回任何值。通常,当您希望方法执行某些操作但不需要返回任何结果时,可以使用void作为返回类型。

例子:

public class Printer { public void PrintMessage(string message) { Console.WriteLine(message); } }

结论:虽然publicstaticvoid都是C#的基本关键字,但它们的用途和含义是完全不同的。public控制访问级别,static定义类型级别的成员,而void指定一个方法不返回任何值。理解它们的区别和如何使用是每个C#开发者的基本技能。


常见问答:

Q1: 如果一个方法既是 public 又是 static,它的含义是什么?

A1: 当一个方法被标记为 public static,这意味着该方法既可以从其他类和代码位置访问(因为它是public的),又属于类本身而不是类的任何特定实例(因为它是static的)。这样的方法通常用于实用程序或工具方法,不依赖于任何特定对象的状态。

Q2: 如果不为类成员指定访问修饰符,它默认是什么修饰符?

A2: 在C#中,如果不为类的成员指定任何访问修饰符,它默认是 private。这意味着该成员只能从其包含的类内部访问。

Q3: 为什么我无法在非静态方法中直接访问静态成员?

A3: 实际上,在非静态方法中是可以直接访问静态成员的。但反过来就不行,静态方法不能直接访问非静态成员,因为静态方法属于类本身,而非静态成员需要类的实例来访问。

Q4: 如果我有一个返回类型为void的方法,我是否可以在该方法中使用return语句?

A4: 是的,你可以在返回类型为void的方法中使用return语句,但这样的return语句后面不能跟任何值。它通常用于提前结束方法的执行。

相关文章