我对这种差异感到困惑.作为.Net的新手,我知道我可以IEnumerables
使用Linq扩展进行查询.那么这是什么IQueryable
以及它有何不同?
另请参见IQueryable [T]和IEnumerable [T]之间的区别是什么?与这个问题重叠.
我可以在选择中返回多个项目吗?例如,我有一个固定装置列表(想想橄榄球(或用于猛拉的足球)固定装置).每个夹具都包含一个主场和客场球队以及主客场得分.我想得到所有吸引的球队.我想用类似的东西
IEnumerable<Team> drew = from fixture in fixtures
where fixture.Played && (fixture.HomeScore == fixture.AwayScore)
select fixture.HomeTeam && fixture.AwayTeam;
Run Code Online (Sandbox Code Playgroud)
我知道这种语法不正确,我不知道是否可以这样做.我需要两个查询然后将它们连接起来吗?
编辑:这真的是一个学习的东西,所以以任何特定的方式实现这一点并不重要.基本上,在这个阶段,我想要的是已经绘制的球队列表.一个示例用法可能是对于给定的灯具列表,我可以找到所有绘制的球队,这样我就可以在一个表中更新他们的积分1分(胜利为3,亏损为0).
我对Subject类的功能以及何时使用它有一个相当好的想法,但我一直在查看msdn上的语言参考,并看到有各种其他ISubject实现,例如:
由于文档在实地非常薄弱,这些类型的重点是什么,在什么情况下你会使用它们?
如果我有一个派生的组件ItemsControl
,我可以访问它的子集合,以便我可以循环它们来执行某些操作吗?我现在似乎找不到任何简单的方法.
所以来自flash背景我对一些简单的2D trig有一个很好的理解.在Id圈的2d中,我知道在给定角度和半径的情况下将项目放置在边缘上的数学运算.
x = cos(a) * r;
y = sin(a) * r;
Run Code Online (Sandbox Code Playgroud)
现在如果我在3d空间中有一个点,我知道我的球体的半径,我知道我想要围绕z轴定位的角度和我想要将它定位在y轴周围的角度.在我的3d空间中找到x,y和z坐标的数学是什么(假设我的原点是0,0,0)?我想我可以从圆形三角借用数学,但我似乎无法找到解决方案.
我在工厂中有一个switch语句,它根据传入的枚举值返回一个命令.类似于:
public ICommand Create(EnumType enumType)
{
switch (enumType)
{
case(enumType.Val1):
return new SomeCommand();
case(enumType.Val2):
return new SomeCommand();
case(enumType.Val3):
return new SomeCommand();
default:
throw new ArgumentOutOfRangeException("Unknown enumType" + enumType);
}
}
Run Code Online (Sandbox Code Playgroud)
我目前为枚举中的每个值都有一个switch case.我对每种情况都进行了单元测试.如何对默认情况下的错误进行单元测试?显然,目前我无法传递一个未知的EnumType,但是谁说这将来不会改变.无论如何我是否可以纯粹为了单元测试而扩展或模拟EnumType?
在阅读有关读取和写入Streams的各种问题后,所有各种答案都将此类定义为正确的方法:
private void CopyStream(Stream input, Stream output)
{
byte[] buffer = new byte[16 * 1024];
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, read);
}
}
Run Code Online (Sandbox Code Playgroud)
两个问题:
为什么要读写这些较小的块?
使用的缓冲区大小有什么意义?
我有一个Image控件,其中包含嵌入图像的路径(构建操作'资源').
<Image Source="Assets/images/image.png" Stretch="None" />
Run Code Online (Sandbox Code Playgroud)
如果我将它添加到我的MainPage.xaml中的容器,图像看起来很好.如下所示在UserControl中具有相同的图像,然后在MainPage.xaml上添加该UserControl的实例时,图像不会出现.
<UserControl x:Class="HomePage.Views.SimpleUserContol"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<Grid x:Name="LayoutRoot" >
<Image Source="Assets/images/image.png" Stretch="None" />
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么会发生这种情况并且可能会指出我的解决方案.
干杯,J
(我在Silverlight工作,但认为在WPF中可能会发生同样的事情)
编辑:
设置
<Image Source="/Assets/images/image.png" Stretch="None" />
Run Code Online (Sandbox Code Playgroud)
在将构建操作设置为"内容"时工作正常但是在使用"资源"时它不起作用.问题肯定是它在文件结构中的相对位置,因为add ../工作正常.如果可能的话,我仍然想要一个从装配中获取图像的解决方案
我想得到一个TimeSpan与另一个TimeSpan的比率(基本上是从它的总时间开始播放视频的进度).我目前的方法是获取两个TimeSpan对象的毫秒数,并将一个对象除以另一个.就像是:
int durationInMilliseconds = totalTimeSpan.Milliseconds;
int progressInMilliseconds = progressTimeSpan.Milliseconds;
Double progressRatio = progressInMilliseconds / durationInMilliseconds;
Run Code Online (Sandbox Code Playgroud)
有更直接的路线吗?这是一个简单的问题,我只是好奇,如果有一个超级优雅的方式来解决它.
为所有詹姆斯干杯
c# ×5
linq ×2
wpf ×2
.net ×1
.net-3.0 ×1
3d ×1
ienumerable ×1
image ×1
iqueryable ×1
itemscontrol ×1
list ×1
math ×1
mocking ×1
moq ×1
silverlight ×1
stream ×1
struct ×1
unit-testing ×1
xaml ×1