关于C#:将一个数组中的对象属性与另一个数组中的对象属性进行比较

comparing object attribute in one array to an object attribute in another array

我似乎在访问和比较目标C中的非突变数组中的对象时遇到困难。我很新,所以在解释的时候,一些代码会很好。我有一个角色类和一个角色发现类。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@implementation character

@synthesize IDE, name;

- (void) dealloc {
    [text release];
    [super dealloc];
}

@implementation characterfound

@synthesize IDE;

- (void) dealloc {
    [text release];
    [super dealloc];
}

我有两个数组,上面都是名字和ID。如果我只想比较ID来构建一个新数组或用它做其他事情。我该怎么做呢?

例如

1
2
3
4
5
6
7
8
9
10
11
**character[]**
name :joe smith
IDE: ik321

name :james smith
IDE: ik32a

**characterfound[]**

IDE:2343k
IDE:ik32a

所以当我比较这两者时,会找到ID,我可以将名称放入另一个数组中。或者输出。

我将尝试重新定义我的问题,并更具体地回答btw。我有两个班性格班
@interface character : NSObject {
// attributes
NSInteger type;
NSInteger rep1, rep2, rep3, rep4, rep5;
NSString *name;
NSString *IDE;

}
。而characterfound类

江户十一〔一〕号

当我分析一个XML文件时,它会遇到不同的标记,并相应地填充我的characterClass。

例如埃多克斯1〔2〕

此外,foundcharacter中还有一些其他XML,比如:

埃多克斯1〔2〕

所以我的第一个数组将填充字符对象,包括它的属性第二个数组foundcharacter也是。字符数组=[字符1 name="Johnson"id="JFJA33",字符2 name="Smith"id="SDFae23"]

字符查找数组[characterFound ide="jfja33,characterFound2 ide="jap234"];所以我的数组中充满了对象及其属性,我想比较这些属性(如果可能的话)并创建一个输出。


如果按ID查找字符对象是一种常见的操作,则应创建一个从ID到字符对象的映射,此时从第二个数组进行查找将非常简单:

1
2
3
4
NSMutableDictionary* charactersById = [NSMutableDictionary dictionary];
for (Character* character in characters) {
    [charactersById setObject:character forKey:[character IDE]];
}

(请注意,我已经将示例代码的类设置为大写;您应该在代码中这样做,因为编写忽略标准语言约定的代码在任何语言中都是一个坏主意;它显著降低了代码的可读性。)