Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在C#中构建预先确定的对象数组?

如何在C#中构建预先确定的对象数组?
EN

Stack Overflow用户
提问于 2022-11-22 19:24:42
回答 1查看 35关注 0票数 -1

为了回答这个问题,我是一个业余程序员,在过去的7年里一直在学习Node.JS,并且在几个不同的环境和项目中都接触过。现在我决定跳到另一种主要语言,开始学习C#,开始学习游戏开发等等。我正在构建一棵技能树,我无法真正理解如何在没有一堆空的GameObjects (统一)保存信息的情况下,以干净有序的方式存储我所需要的每一项技能所需的信息。

我知道(至少是我最喜欢的一种方法)如何在Node.JS中这样做,但是我找不到关于将它转换为C#的正确信息。

Node.JS实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var skillTree = [
   {
      name: "Skill1",
      effect: skill1Func,
      unlocked: true,
      prereqs: [ ]
   },
   {
      name: "Skill2",
      effect: skill2Func,
      unlocked: false,
      prereqs: [1, 5]
   }
];

如您所见,它只是一个对象数组,所有属性都遵循相同的属性,但属性是预先确定的,而不是添加的。我只是找不到正确的途径去存储这些信息,以便在C#中使用,所以如果有人可以帮助我,这将是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2022-11-22 19:39:44

通常,您将创建一个类对象来定义数据的结构。然后,可以创建该类类型的变量,并在构造函数中填充数据。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class skillItem {
    public string Name { get; set; }
    public SkillEffect Effect { get; set; }
    public bool Unlocked { get; set; }
    public int[] PreReqs { get; set; }
}

public skillItem[] skillTree = new skillItem[] {
    {
        Name = "skill1",
        Effect = skill1Func,
        Unlocked = false,
        PreReqs = new int[] { 1, 5 }
    },
    {
        Name = "skill2",
        Effect = skill2Func,
        Unlocked = false,
        PreReqs = new int[] { 20, 30 }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74541421

复制
相关文章
java对象组声明_如何在Java中声明对象数组?
可以创建对象类数组,该数组可以接受任何类型的对象。在此类数组上运行期间,可以使用instanceof运算符。
全栈程序员站长
2022/08/30
3.8K0
C#之 对象数组
对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。 万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。 数组,就是变量中元素的集合,详见本人之前写的: C#之 数组的理解和使用
全栈程序员站长
2022/09/14
4370
C#中数组的复制
因为今天在写Java程序的时候数组复制出现了问题,所以也就查了查C#中数组的复制。
卡尔曼和玻尔兹曼谁曼
2019/01/25
2K0
C#中数组的复制
C#中的多维数组和交错数组
C#中有多维数组和交错数组,两者有什么区别呢! 直白些,多维数组每一行都是固定的,交错数组的每一行可以有不同的大小。 以二维的举例,二维数组就是m×n的矩阵,m行n列;而交错数组(又叫锯齿数组
卡尔曼和玻尔兹曼谁曼
2019/01/22
2.9K0
C#中的多维数组和交错数组
JS中特殊的对象-数组
前言 之前学习的数据类型,只能存储一个值(比如:Number/String)。我想在一个变量中存储多个值,应该如何存储? 所谓数组,就是将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组。 1.1 数组的创建 // 字面量方式创建数组 var arr1 = []; //空数组 // 创建一个包含3个数值的数组,多个数组项以逗号隔开 var arr2 = [1, 3, 4]; // 创建一个包含2个字符串的数组 var arr3 = ['a', 'c']; cons
汤清丽
2019/12/01
9.1K0
Java中对象数组的使用
对象数组其实和Java的数组类似的,所以要很清楚Java的数组是如何使用的,如果有不懂的可以点下面这个链接Java数组的使用
Gorit
2021/12/09
7K0
Java中对象数组的使用
Vue中修改数组中的对象
Vue中修改数组中的对象
Java架构师必看
2021/09/14
4.7K0
C#报错——传递数组对象报错“未将对象引用设置到对象的实例”
从字面上理解这句话为,传递的数组对象(指的是数组aaa),没有将对象引用(指定的bbb,实际也是aaa本身,因为他们是同一片地址)设置到对象的实例(指的是没有实例化数组)
vv彭
2021/03/07
2.2K0
Java中创建对象数组[通俗易懂]
1.对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 2.对象数组的定义和使用: 对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。 3.对象数组的实例化: 类名[ ] 对象数组名 = new 类名[ 数组大小] 以创建Student类的对象数组为例
全栈程序员站长
2022/09/13
3.2K0
Javascript中的数组对象排序(转载)
js中用方法sort()为数组排序。sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。如:
李维亮
2021/07/08
8K0
Java中的数组是对象吗?
首先说明:Java中的数组是对象,这个可以查看The Java Language Specification SE(4.3.1)可得,另外本文讨论的相关问题的结论,在规范中都能找到,目前也被我总结在了Java漫谈-数组中。
WindCoder
2018/09/19
7.3K1
Java中的数组是对象吗?
java中对象数组的小例题
/* * 我有5个学生,请把这个5个学生的信息存储到数组中,并遍历学生数组,获取得到每一个学生的信息。 *   学生类:Student *      成员变量:name,age *      构造方法:无参,带参 *      成员方法:getXxx()/setXxx() *   存储学生的数组?自己想想应该是什么样子的? * 分析: *    A:创建学生类。 *    B:创建学生数组(对象数组)。 *    C:创建5个学生对象,并赋值。 *    D:把C步骤的元素,放到学生数组中。 *    E:遍历学生数组。 */
黑泽君
2018/10/12
3.3K0
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.6K0
C# 学习笔记(4)—— C# 中的面向对象编程
封装指的是把类内部的数据隐藏起来,不让对象实例直接对其操作。C# 中提供了属性机制来对类内部的状态进行操作。此外,封装可以通过 public、private、protected 和 internal 等关键字来体现
Karl Du
2023/10/20
2210
[工具]如何在vscode中构建python工程
之前用过Anaconda下的Spyder、Pycharm和Jupyter等写过python的数据分析项目,各有优劣。因为我的C++和Golang项目都是使用的VSCode(CLion、Golang和Pycharm都需要付费使用,而且在Mac上消耗资源比VSCode更大),所以索性将Mac和Windows的python项目都迁移到VSCode上。
TOMOCAT
2020/06/09
4.4K0
[工具]如何在vscode中构建python工程
C#中数组、ArrayList和List的区别
在C#中,数组、ArrayList、List都能够存储一组对象,那么他们的区别是什么呢?
Karl Du
2023/10/20
3080
前端基础-JS中特殊的对象(数组)
数组的元素可以是任意类型的数据,因此,有时数组中的某个元素的值又是一个数组,而这样的数组被称为多维数组,如果数组中只有其他类型的数据,而没有另外的数组值,这样的数组被称为一维数组;
cwl_java
2020/03/26
3.2K0
数组或对象中的内容间隔显示
总结:间隔显示,不要使用for 循环,原因是for循环是同步,setTimeout是异步,同步执行完再执行异步。
tianyawhl
2019/11/07
4.3K0
js中数组对象去重的方法
最近工作中需要用到数组对象去重的方法,我是怎么想也没想出来,今天稍微研究了一下,总算找到了2种方法。分享一下,希望对大家有帮助!
半指温柔乐
2018/09/11
12.1K0
点击加载更多

相似问题

数组中预先确定的字符数量

14

GUI表单构建uppon对象(如Propertygrid)

31

GCP日志:如何在对象数组中查询(如regex)

11

如何在swift中初始化对象数组,如UILabel

24

在Qt中锁定对象,如C#

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文