是
dataReader[i]
Run Code Online (Sandbox Code Playgroud)
在逻辑上相当于
dataReader.GetValue(i)
Run Code Online (Sandbox Code Playgroud)
它们是一样的吗?他们不一样吗?是否存在一种适合另一种情况的情况?
有不同的记录:
- 获取位于指定索引处的列
- 返回指定字段的值.
但是当我使用它们时,它们都会返回该字段的值."获得专栏"是什么意思?"归还一个领域的价值"是什么意思?
奖金Chatter:
我打电话的时候:
reader[i];
reader.GetValue(i);
reader.GetString(i);
Run Code Online (Sandbox Code Playgroud)
我String每次都得到一个
我想验证(断言)我的DTO对象上的某些属性是否已设置.我试图用Fluent Assertions来做,但以下代码似乎不起作用:
mapped.ShouldHave().Properties(
x => x.Description,
...more
x => x.Id)
.Should().NotBeNull();
Run Code Online (Sandbox Code Playgroud)
是否可以通过Fluent Assertions或其他工具实现这一目标?Fluent断言具有ShouldBeEquivalentTo,但实际上我只关心那些是不是空/空,所以我无法使用.
当然我可以在每个属性级别上做一个Assert,但是对一些更优雅的方式感兴趣.
我有一个名为Orders Like Table的表:
OrderItemID CustomerIDNumber OrderProcessed
1 9212060068089 False
2 6412180017080 False
3 9212060068089 False
4 5508245127003 False
5 9212060068089 False
Run Code Online (Sandbox Code Playgroud)
我想做的事情,我似乎真的很难得到正确的,是选择订单处理错误的所有唯一客户ID号.
现在这很简单,通过使用DISTINCT,但我正在努力的TRICKY PART,是我希望客户ID号仍然按订单商品ID维护订单.所以示例输出应该是:
CustomerIDNumber OrderProcessed
9212060068089 False
6412180017080 False
5508245127003 False
Run Code Online (Sandbox Code Playgroud)
请注意:处理顺序中的所有值都在这里错误,显而易见地在我的表中,对于订单处理将有一些真正的价值.
这是我目前得到的错误输出:
CustomerIDNumber OrderProcessed
5508245127003 False
6412180017080 False
9212060068089 False
Run Code Online (Sandbox Code Playgroud)
可以看出,它是按升序对客户ID号进行排序,这不是我想要的.
在C#中将一些给定的较大数字拆分为数百,数十和单位的最佳方法是什么?
例如:如果我输入数字43928,我如何在输出上获得40000 + 3000 + 900 + 20 + 8?