使用Linq Query时我遇到了一个误解问题我确实有这个实体
class Content
{
public string Type = "X";
public string Name;
public int? Owner;
}
Run Code Online (Sandbox Code Playgroud)
列表列表包含2个成员,除了名称和所有者之外,它们都是类型等于一个(一个是null而另一个不是).所以我尝试查询以查找具有特定所有者的内容,如果没有找到,则返回另一个下面使用的查询:
int? owner = 1;
var result = (
from c in list
where c.Type == "X" && c.Owner == owner
select c
).FirstOrDefault(c => c.Type == "X" && c.Owner == (int?)null);
Run Code Online (Sandbox Code Playgroud)
但结果成员返回null.这个查询的正确陈述应该是什么?
可能的重复:
具有唯一键和值的 C# 字典类型
我想确保字典具有唯一的键和值。有没有什么方法可以在构建我自己的类之外添加这种验证?这是我能想到的完成字典中值验证的唯一方法。但是,也许我可以添加一些我似乎无法通过谷歌找到的属性。
我希望将此字典与 WPF 绑定一起使用,如果这也有帮助的话。
我有以下几点:
class foo : ObservableCollection<Int32>
{
//Stuff
}
[Test]
public void test()
{
var foo = Mock.Of<foo>();
int count = 0;
Mock.Get(foo).Setup(x => x.Add(It.IsAny<Int32>())).Callback(() => count++);
Mock.Get(foo).Setup(x => x.Count).Returns(() => count);
//Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
然而,Add与Count特别是indexer[]不覆写投放。我唯一的办法Addfoo是Add在我的 foo 类中创建该调用等吗?
我希望能够通过它的历史编号运行spark-shell命令.当我输入:history或:h ?,然后我剪切并粘贴命令 - 即使history命令给它一个ID号.我希望能够打字
:61
Run Code Online (Sandbox Code Playgroud)
或者只是重新运行命令的东西.有类似的东西吗?
当我打开表单时,我无法进入设计模式,我收到此错误:
The variable 'MonthViewCalendar'
(internal
Infragistics.Win.UltraWinSchedule.UltraMonthViewSingle
MonthViewCalendar;)
is either undeclared or was never assigned.
Run Code Online (Sandbox Code Playgroud)
知道为什么表单不进入设计模式吗?我正在使用VS 2010.
我试过 - 清理解决方案,重新启动VS并重新打开,但这并没有解决我的问题.
是否有更好的方法来对齐单元格右下方的内容?
我有一个div只包含一个背景图像,10px×10px.我使用以下样式将其放在右下角.(我所拥有的细胞是40px高.)
这样做会导致我失去比div高30px.(我也使用它作为点击的东西,所以我可以点击右边的任何地方而不是单元格的底角.)
.time_note { float:right; width:20%; min-height:40px; display:block;
margin-right:-5px; }
.time_note { background:url('/images/sheet/note_marker.png') no-repeat;
background-position:bottom; }
Run Code Online (Sandbox Code Playgroud)
如果这也可以不使用边距,那将是很好的.
示例图片:

我已经在这方面工作了很长时间,但是找不到一种方法来表示类和UML图中的类实现的接口之间的关系.有人可以帮助我解决上述问题吗?我的界面和类有以下关系
interface foo
{
void a();
void b();
}
class goo : foo
{
public override void a()
{
//Code goes here
}
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我在视觉范例中使用什么来展示那种关系吗?
我正在尝试使用chrome.tabs.query作为标题。但是,如果我查看文档,似乎匹配模式仅适用于 URL?我尝试的每种模式都不起作用
这是代码:
chrome.tabs.query({'title':searchText}, function(tabArray){
tabbr.update(tabArray);
});
Run Code Online (Sandbox Code Playgroud) 根据这个问题:
我需要使用scalaz来获得我想要的东西,但是我很好奇,如果有人知道为什么以下不能像我期望的那样工作?
Map(1->2.0)+(1->1.0) //Map(1->1.0)
Run Code Online (Sandbox Code Playgroud)
我希望这会导致 Map(1->3.0).但是,似乎地图只返回最后一个键,如下所示:
Map(1->1.0, 1->3.0) //Map(1->3.0)
Run Code Online (Sandbox Code Playgroud)
所以,基于文档
向此集合添加两个或多个元素并返回一个新集合.
以上,我的猜测是地图可能存储值,但只返回最后一项?这不是我对添加应该做什么的直觉......也许这是一种效率举措.
一旦我有更多的时间,我会看一下代码并尝试从那里弄清楚,但是想问这里,以防有人已经知道了?
我正在尝试开发一种方法,它将检查用户输入,并且只有在通过验证时才返回输入.
这就是我想要做的:
这真的是我想要的,但编译器指出not all code paths return a value:
public static int UserInput(){
int input = int.Parse(Console.ReadLine());
if (input < 1 || input > 4){
Console.Write("Invalid Selection. Enter a valid Number (1,2,3 or 4): ");
if (input < 1 || input > 4) UserInput();
} else{
return input;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这是满足编译器的以下代码.
public static int UserInput()
{
int input = int.Parse(Console.ReadLine());
if (input < 1 || input > 4)
{ …Run Code Online (Sandbox Code Playgroud) 获得了"ClientContacts"列表---其中包含一个LastName(在人类的情况下)或一个EntityName(在通用联系的情况下,例如techsupport@mycompany.com).
我想要做的是按LastName按字母顺序排序此列表,如果不存在LastName(换句话说,存在EntityName),则将该EntityName视为LastName,并继续排序,就像它是LastName一样.
所以期望的结果如下:
这会导致崩溃,因为它遇到了一些没有LastName的ClientContacts.
clientContactList.Sort(
delegate(ClientContact c1, ClientContact c2)
{ return c1.LastName.CompareTo(c2.LastName); });
Run Code Online (Sandbox Code Playgroud)
以下允许我通过而不崩溃,它通过ClientContact EntityName的第一个和那些LastNames对它进行排序:
list.Sort(delegate(ClientContact c1, ClientContact c2) {
try
{
return c1.LastName.CompareTo(c2.LastName);
}
catch
{
try
{
return c1.EntityName.CompareTo(c2.LastName);
}
catch
{
return c1.EntityName.CompareTo(c2.EntityName);
}
}
});
Run Code Online (Sandbox Code Playgroud)
导致:
如何将列表排序为上面所需的结果?
我想围绕ListView的角落.我试图使用该Template属性,但似乎我必须重写整个模板.有没有办法到达边境,以便我可以设置CornerRadius
我有一个对象:
Account
{
Id,
Name,
CurrentBalance
}
Run Code Online (Sandbox Code Playgroud)
Id是一个不可变的键,Name是一个可变的字符串,并CurrentBalance从与该帐户关联的所有事务计算.
我坚持GET \Accounts\{Id}不会是幂等的事实,因为对事务的更改将导致更改CurrentBalance.我应该从对象中删除此字段并发出请求
POST \Accounts\{Id}\CurrentBalance
Run Code Online (Sandbox Code Playgroud)
但现在我必须多次调用服务器来获取CurrentBalance所有对象:
GET \Accounts
POST \Accounts\{Id1}\CurrentBalance
POST \Accounts\{Id2}\CurrentBalance
POST \Accounts\{Id3}\CurrentBalance
....
Run Code Online (Sandbox Code Playgroud)
我想我只是想看看是否已经有一种标准的方法可以解决这个问题,我错过了?
UPDATE
第2部分,如果原始对象通过GET正常.我更新的唯一方法Account.Name是通过PATCH,因为我不允许更新到CurrentBalance,对吗?
注意
我意识到我可以把它放在客户端上以获取所有事务并计算它,但我更愿意在服务器上执行此操作有多种原因
c# ×7
.net ×2
scala ×2
.net-3.5 ×1
add ×1
apache-spark ×1
coding-style ×1
css ×1
dictionary ×1
html ×1
http ×1
http-verbs ×1
idempotent ×1
infragistics ×1
linq ×1
list ×1
map ×1
mocking ×1
moq ×1
relationship ×1
rest ×1
sorting ×1
uml ×1
unit-testing ×1
validation ×1
winforms ×1
wpf ×1