小编rod*_*amn的帖子

Rails:在命名空间中的两个模型之间创建多对多关系需要做些什么?

命名空间中有两个模型,它们需要与has_and_belongs_to_many以多对多关系关联.它们是这样创建的:

$ rails generate model namespace/model_a name:string

# app/models/namespace/model_a.rb
class Namespace::ModelA < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)

$ rails generate model namespace/model_b name:string

# app/models/namespace/model_b.rb
class Namespace::ModelB < ActiveRecord::Base
end
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能成功建立多对多关系?

activerecord many-to-many namespaces has-and-belongs-to-many ruby-on-rails-4

1
推荐指数
1
解决办法
942
查看次数

C#列出带有索引的ConvertAll

考虑一个输入列表X,它由Tx类型的对象组成,您需要为其运行以下几个函数之一,y_a = A(x),y​​_b = B(x),等等...(所有这些输出对象的(Ty)生成输出列表Y。最后,转换函数的选择取决于列表中元素的索引。

理想情况下,解决方案将是单线解决方案(Linq,我在找您)。

将其放入代码中:

public OtherType ConversionA (int n) {
}

public OtherType ConversionB (int n) {
}

class MyClass {
  public MyClass (List<int> values) 
    : this (values.ConvertAllWithIndex((value, index) => 
      UseConversionA (index) ? ConversionA (value) : ConversionB (value)) {
  }

  public MyClass (List<OtherType> things) {
    ...
  }

  bool UseConversionA (int index) {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我意识到此示例代码的一个更简单的解决方案是在调用MyClass并简单地传递Y之前执行从X到Y的转换,但是请耐心等待,因为这是一个人为的示例,用于查看是否有人知道复制ConvertAll的方法。以目标元素的索引为条件。

另外,可以创建对Tx的扩展以使用索引创建自定义ConvertAll,但是我很好奇是否可以找到一种使Linq(或其他方式)实现此目标的方法。

c# linq list

1
推荐指数
1
解决办法
374
查看次数