我想比较一个对象列表,忽略列表中对象的顺序,只比较对象中的一些属性,目前我正在使用以下代码来执行此比较:
actual.Should().NotBeNull();
actual.Count.Should().Be(expected.Count);
//compare ignoring order
foreach (var exp in expected)
actual.Should().Contain(act =>
act.IndividualId.Equals(exp.IndividualId)
&& act.Email.Equals(exp.Email)
&& act.FirstName.Equals(exp.FirstName)
&& act.LastName.Equals(exp.LastName)
);
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不太理想,因为当出现故障时,您无法获得预期值的打印.是否有使用流畅断言执行此比较的内置机制?
我有一个DataTemplate代表AppBar按钮,我通过自定义AppBarCommand对象的集合声明.
public AppBarCommand(RelayCommand command, string buttonstyle)
{
Command = command;
ButtonStyle = buttonstyle;
}
<DataTemplate>
<Button Command="{Binding Command}"
Style="{Binding ButtonStyle, Converter={StaticResource StringNameToStyleConverter}}"/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
我想添加一个CommandParameter绑定,但参数必须是Button本身.这样我就可以设置Callisto弹出窗口的PlacementTarget.这可能吗?
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
char *s;
printf("enter the string : ");
scanf("%s", s);
printf("you entered %s\n", s);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我提供长度不超过17个字符的小输入时(例如"aaaaaaaaaaaaaaa"),程序工作得非常好,但是在提供更大长度的输入时,它会给我一个运行时错误,说"main.c已经意外停止工作".
我的编译器(代码块)或我的电脑(Windows 7)有问题吗?或者它是否与C的输入缓冲区有关?
当我在Visual Studio 2013中创建新的网站项目时,即使在完全删除Visual Studio 2013/Projects以及Visual Studio 2013/Website中的目录之后,VS 2013仍然认为它存在.因此,它会在解决方案名称的末尾附加一个递增索引:

如何完全删除所有解决方案的痕迹(如卸载正常项目)?
我使用Angular UI Grid来显示一些数据.排序已启用并初始化以及选择单行:
vm.gridOptions = {
enableSorting: true,
enableRowSelection: true,
multiSelect: false,
noUnselect: true,
columnDefs: [
{ name: '#', field: 'ID' },
{ name: 'Name', field: 'CODE', sort: { direction: 'asc', priority: 1 } },
{ name: 'Comment', field: 'DESCR' },
],
data: []
};
Run Code Online (Sandbox Code Playgroud)
我能够选择一行,并按行"按名称"列按照配置的升序排序.
如UI网格教程210中所示,我添加了逻辑,以在我的数据加载并添加到网格后自动选择第一个项目:
datacontext.getAllGcTab(vm.filter).then(function (result) {
vm.gridOptions.data = result.results;
vm.gridApi.selection.selectRow(vm.gridOptions.data[0]);
});
Run Code Online (Sandbox Code Playgroud)
但是这段代码正在选择未排序数据的第一项.我的网格中有大约500个项目,这些项目并不多,并且表现良好,但在这种情况下,所选项目位于线下并且不可见.
有没有选项可以直接访问UI Grid的行或排序数据?
我知道外部排序可以解决这个问题,因为我会将已排序的数据分配给网格.但在我看来,这似乎是一种不必要的开销......
这是我第二次遇到WCF RIA服务这个非常奇怪的问题!可悲的是,我必须两次解决问题,再次经历不同的箍:(,即使我已经给自己留下了一个指示解决方案的注释:P
无论如何,"非常有用"的错误消息如下:
...\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Ria.Client.targets(304,5):错误:代码生成器'Microsoft.ServiceModel.DomainServices.Tools.CSharpCodeDomClientCodeGenerator'遇到致命异常但无法生成项目"ProjectA"的代码
我有一个字符串,格式如下:
StockCode Country Date Price equity
Run Code Online (Sandbox Code Playgroud)
例如:
1 hk 10/31/12 C70.5 equity101 hk 11/21/13 P63 equity388 hk 10/17/12 P100 equity我可以通过这个Excel命令提取日期:
LEFT(RIGHT(RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1)),
LEN(RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1)))-FIND(" ",
RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1)))),FIND(" ",
RIGHT(RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1)),
LEN(RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1)))-FIND(" ",
RIGHT(LEFT(A1,LEN(A1)-7),LEN(LEFT(A1,LEN(A1)-7))-FIND(" ",A1))))))
Run Code Online (Sandbox Code Playgroud)
(换行符换行)
结果: 10/31/12
任何人都有更好的解决方案吗?
这是我的一些代码:
如何获得"C"和"P":
TRIM(MID(A1,IFERROR(FIND("P",A1),FIND("C",A1)),1))
Run Code Online (Sandbox Code Playgroud)如何获得执行价格:
TRIM(SUBSTITUTE(RIGHT(A1,LEN(A1)-IFERROR(FIND("P",A1),
FIND("C",A1))),"equity",""))
Run Code Online (Sandbox Code Playgroud)我有一个Document类,它将该文档的数据存储为字节数组.我需要使用LINQ to Entities来检查数组的大小.
我尝试过以下方法:
[long Linq query here...] o.Data.Length < 800000)
Run Code Online (Sandbox Code Playgroud)
问题是我得到以下异常:
LINQ to Entities中不支持LINQ表达式节点类型'ArrayLength'."
有没有其他方法来检查字节数组的大小?
我创建了10 x 10个TextBox,用户应该将这些单词输入到相关的TextBox中以获取单词的位置.我将所有内容保存到这样的文本文件中:

然后在WPF方面,我阅读文本文件并在面板中填充TextBoxes,但问题是填字游戏已经关闭并且提示会引导您回答,每个提示都会有一个数字来指示哪个是哪个.但是,我想不出一种方法可以将数字的拼图编号与数字和数字之间的提示联系起来.这就是现在的样子:

注意数字(我在油漆中编辑它们以显示我想要的东西)在横向和向下旁边,我需要显示这些数字.
在我的数据库中,我将文件的位置存储在一个表中,并将提示和答案存储在另一个表中,如下所示:

这是提示(横向和向下)和答案:

我正在使用Entity框架lambda表达式来检索横向和向下.
感谢任何有关此问题的帮助,以便将数字分配给拼图的横向和横向.
这是我显示拼图的代码:
protected void Across()
{
IList<ModelSQL.puzzlecontent> lstAcross = daoPuzzleContent.GetAcross();
foreach (ModelSQL.puzzlecontent lista in lstAcross)
{
Label tbA = new Label();
tbA.Content = lista.Hint;
tbA.Width = Double.NaN;
tbA.BorderBrush = Brushes.CadetBlue;
tbA.BorderThickness = new Thickness(2);
stackPanel1.Width = Double.NaN;
stackPanel1.Children.Add(tbA);
words.Add(lista.Answer);
}
}
protected void AddPuzzle()
{
// foldername of the txt file.
// using (StreamReader reader = File.OpenText((@daoWordPuzzle.GetfileURL())))
string[] fileData = File.ReadAllLines(@"C:\Users\apr13mpsip\Desktop\OneOrganizer\OneOrganizer\WordPuzzle\educational.txt");
string[] lineValues;
int row = 0;
int col;
int hint = …Run Code Online (Sandbox Code Playgroud) 我使用ServiceStack的JsonServiceClient和Silverlight 5从我的ASP.Net服务器接收JSON数据.它适用于简短的JSON字符串,但是当涉及到非常大量的数据时,会抛出StackOverflowException ServiceStack.ServiceClient.Web.AsyncServiceClient.ReadCallBack<>.
所以我检查了GitHub上的最新源代码,并注意到数据是从块中以块状方式读取的,大小为4096字节.问题是这个方法读取一个块并告诉流完成后递归调用自身.我们收到的数据越多,发生的递归调用就越多.这就是当接收到的数据太大时应用程序崩溃的原因.
思路:
无论如何,在我下载所有源代码,自己修改和编译之前,我想听听你对此的看法.这是一个错误还是我错了?
c# ×5
wpf ×2
.net ×1
angularjs ×1
arrays ×1
binding ×1
c ×1
c#-4.0 ×1
datatemplate ×1
excel ×1
javascript ×1
linq ×1
resx ×1
servicestack ×1
silverlight ×1
sorting ×1
split ×1
unit-testing ×1
xunit ×1