C# 3.0 C#(3.0)中表示多维数据集的数据结构

C# 3.0 C#(3.0)中表示多维数据集的数据结构,c#-3.0,C# 3.0,你能给我一些关于如何在C#(3.0)中设计一个数据结构的想法吗?它将给出一个3D数据结构的表示 我的意思是说类似于立方体的东西。类似于根据时间、地点查看的股票数据 请给出一个简单的工作示例,甚至一个链接都可以。如何: struct StockTickData { string Symbol; decimal Price; DateTime When; string Where; } 我不确定您是否真的需要“3D”。我怀疑这是您想要的,但由于立方体有三个相同的维度

你能给我一些关于如何在C#(3.0)中设计一个数据结构的想法吗?它将给出一个3D数据结构的表示

我的意思是说类似于立方体的东西。类似于根据时间、地点查看的股票数据

请给出一个简单的工作示例,甚至一个链接都可以。

如何:

struct StockTickData
{
    string Symbol;
    decimal Price;
    DateTime When;
    string Where;
}

我不确定您是否真的需要“3D”。

我怀疑这是您想要的,但由于立方体有三个相同的维度,因此可以用单个整数表示

int CUBE = 4; // A 4x4x4 cube 
股票数据有三个以上的维度(如果必须这样称呼的话),并且每个维度都是唯一的


这是家庭作业吗?

嗯,把你的问题理解为一件事,我建议

class cube{
  private size;
  public set_size(value){
    if (value < 0){
      value = -value; // makes sure we have a positive size
    }
    this.size = value
  }
  public get_size(){
    return this.size;
  }
  public get_volume()
  {
    return this.size*this.size*this.size
  }
}
类多维数据集{
私人规模;
公共集合大小(值){
如果(值<0){
value=-value;//确保大小为正
}
此值为0.size=值
}
公共get_size(){
返回此.size;
}
公共获取卷()
{
返回this.size*this.size*this.size
}
}
但你也可以指一个3D阵列。。。这是一个数组的数组

在我的头顶,最里面的数组可能有三个元素,代表顶点的x,y,z值。然后你会有一个由这些顶点数组组成的数组,也就是三个三角形。然后你有一个三角形的数组来组成一个对象

尽管在这种情况下,面向对象编程将使开发变得更简单。使用整数和函数创建顶点类,以控制单个顶点。然后创建一个三角形类,该类具有三个“顶点”属性和函数来控制三角形,例如围绕一个顶点旋转。然后是一个对象的另一个类,该对象可以有一个三角形数组


如果您想让我扩展或澄清这些内容,请告诉我您的多维数据集需要以下属性:

1) 位置坐标,最有可能是描述XYZ坐标的3个浮点向量。 2) 立方体的尺寸,同样是描述立方体高度、宽度和深度的3个浮点数的向量 3) 立方体的方向,同样是描述偏航俯仰角和横滚角的3个浮点数的矢量

基本上,3x3矩阵就足以表示立方体

[X Y Z] [L W D] [Y P R]


这3个向量是最小的,足以描述三维空间中的立方体,并对其执行各种操作。使用矩阵执行旋转、拉伸、移动等操作。DirectX/Direct3D文档中有很多关于这类东西的信息,如果这是您想要的。任何基本的3D游戏开发书籍都可以。

嗯,一个三维阵列?var t=新整数[10,10,10]@认为你没有跳出框框思考!您没有提供足够的信息…维度只是一个属性;根据这个定义,任何具有三个属性的对象都是三维数据结构。@David:没有人会跳出框框思考——我们中的一些人只是有更大的框框而已。:)@音乐起源哦哦,深刻。。。公平地说,我喜欢在棚子里思考,而不是在盒子里思考。我不这么认为……从他的其他问题来看,他看起来不像是在问家庭作业问题。@Adam:如果你是零基础的,就不会。:)你真的对你的同事做了那种事?悄悄地将传递的参数更改为其他值?我明白你的意思。但总的来说,这就是文档的用途。你会在不知道传递什么或者函数做什么的情况下开始使用函数吗?其次,在OOP中,类意味着保持其数据的可感知性,因此在本例中,不允许负长度是有意义的,毕竟,您尝试绘制一个边长为-1米的立方体。对不起,如果我听起来有点爱争论,这只是我对这类事情应该怎么做的看法。我赞成“解释黑匣子”,也就是说,你不“知道”一门课是如何运作的,但你已经被告知如何期望它运作;不允许使用负号。这就是例外的情况。如果你必须这样做,考虑使用Maul.Abess()