一个快速的投影问题。我在一种测试方法中具有一组对象(unchangeditems),并希望确保它们与我的“预期”元素匹配。如图所示,您可以按元素进行操作,但这并不理想。我确信可以使用投影沿着下面的底线到达字符串变量(LMAA_CODE-不要问大写!)。我会很感激的。
谢谢!
// Works but not very elegant
Assert.AreEqual(result.unchangedItems[0].LMAA_CODE,expectedunchangedItems[0]);
Assert.AreEqual(result.unchangedItems[1].LMAA_CODE,expectedunchangedItems[1]);
Assert.AreEqual(result.unchangedItems[2].LMAA_CODE,expectedunchangedItems[2]);
Assert.AreEqual(result.unchangedItems[3].LMAA_CODE,expectedunchangedItems[3]);
// ?Can something like this be done? eg result.unchangedItems => result.unchangedItems.LMAA_CODE
Assert.IsTrue(Enumerable.SequenceEqual(result.unchangedItems.LMAA_CODE, expectedunchangedItems));
最佳答案
您已经快要在那里了,只需向LMAA_CODE添加一个投影:
Assert.IsTrue(Enumerable.SequenceEqual(result.unchangedItems.Select( x=> x.LMAA_CODE),
expectedunchangedItems));
关于c# - C#:投影-以与List <string>相同的方式访问对象集合中的给定string属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5945038/