gpt4 book ai didi

c# - C# 是否具有等效于 Java 静态嵌套类的功能?

转载 作者:IT老高 更新时间:2023-10-28 20:55:14 27 4
gpt4 key购买 nike

我正在将 Java 转换为 C#,并且有以下代码(参见 discussion in Java Context 关于它的使用)。一种方法可能是创建一个单独的文件/类,但是否有一个 C# idom 可以保留 Java 代码中的意图?

   public class Foo {

// Foo fields and functions
// ...
private static class SGroup {
private static Map<Integer, SGroup> idMap = new HashMap<Integer, SGroup>();

public SGroup(int id, String type) {
// ...
}
}
}

最佳答案

所有 C# 嵌套类类似于 Java 静态嵌套类:

C#:

class Outer
{
class Inner
{
}
}

就像 Java 的:

class Outer
{
static class Inner
{
}
}

换句话说,Inner的实例没有Outer实例的隐式引用。

虽然没有相当于 C# 中的 Java inner 类。

尽管这两种语言的可访问性规则有些不同:在 C# 中,嵌套类中的代码可以访问包含类中的私有(private)成员;在 Java 中,在一个顶级类型中声明的所有代码都可以访问在同一顶级类型中声明的所有其他私有(private)成员。

关于c# - C# 是否具有等效于 Java 静态嵌套类的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1581977/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com