-9

我从来没有费心去看看c#中不同的区域叫什么,我做过编程,从来没有问过这些区域叫什么。我会张贴一张图片来说明我的意思。我还使用谷歌“c#脚本设置”在线查看,但没有占上风。也许这里有人可以提供帮助。

我喜欢找名字,开头的区域叫什么,你初始化设置的区域,所有的空白叫什么,你叫什么类区域。

在此处输入图像描述

4

3 回答 3

2

首先,你在这里声明的是一个类,而不是一个脚本(这正是统一使用它的目的)。

  • 区域 1 是您的 using 指令。
  • 区域 2 中的所有内容都称为类定义
  • 区域 3 不是区域,因为理论上您可以在任何您喜欢的地方声明您的字段。
    但是在这种情况下,您称为区域 3 的类定义部分包含您的类成员字段的一些定义(这些不是设置)。
  • 区域 4 和区域 5 是方法定义void Start()并且void Update()是方法的签名(例如,签名定义了方法期望的参数以及返回的内容,void 表示它不返回任何内容),以及在它之后的块中出现的内容是方法体

不过,我建议您学习一些 C# 基础知识,因为它对您理解该语言有很大帮助。它将使您成为更好的Unity 开发人员。您需要了解 Unity 使用的 C# 不仅仅是简单的脚本,它是一种完整的编程语言,提供的可能性比您想象的要多得多。

于 2013-10-16T12:25:31.660 回答
1

您的问题有点令人困惑,因为您询问的某些内容具有特定名称,而其他则没有。

对于初学者来说,一般来说,C# 并不关心你在代码文件中放置东西的“位置”。它关心那些东西进入什么“包含范围”,这由大括号 ( { }) 的集合决定。特别是,您标记为 (3) 的区域没有名称,因为您放在那里的东西可以放在 (2) 中的任何地方,包括与其他东西混在一起。

严格来说,C# 中唯一与位置相关的“区域”是区域:代码文件中使用#region / #endregion指令指定的命名区域。您标记的内容是 C# 程序的语言元素您可以在这篇 MSDN 文章或几乎所有曾经写过的初学者 C# 书籍中找到关于程序可以具有的语言元素类型的非常好的概述。

为了回答您的具体问题,以下是该文章中的示例代码,其中包含您将拥有的典型元素:

// These are "import" statements used to refer to other namespaces.
using System;

// This is a namespace declaration, used to group related classes together.
// As far as I know, in Unity you don't use these.
namespace YourNamespace
{
    // Class definition: defining a new custom object type.
    public class Person
    {
        // Field: defining a new internal data element
        public string name;

        // Constructor that takes no arguments. 
        public Person()
        {
            name = "unknown";
        }

        // Method: defining a new behavior for your class.
        public void SetName(string newName)
        {
            name = newName;
        }
    }
}
于 2013-10-16T12:25:25.797 回答
1

您的示例代码不是太好,因为它缺少一个namespace重要元素。

顶级语法(非正式的和不完整的)是

  • 1 文件范围或编译单元
    • 2 命名空间
      • 3 类型定义
        • 4 类型成员
  1. 文件范围几乎是一个命名空间,但这是唯一允许和允许的地方,#define而且#undefine它们必须是第一个。其余的可以认为属于命名空间global::

  2. 命名空间是其他命名空间和类型定义的范围。这些using OtherNamespace;指令只允许在命名空间的开头。

  3. 类型定义包括class,structenum定义。

  4. 类型成员包括属性、字段和方法定义。void Start() {}是一种方法。

于 2013-10-16T12:22:13.763 回答