我有一个Dictionary<string, string>.
我需要在该字典中查看是否存在基于来自其他地方的输入的值,如果存在则将其删除.
ContainsValue只是说true/false而不是该项的索引或键.
救命!
谢谢
编辑:刚发现这个 - 你怎么看?
var key = (from k in dic where string.Compare(k.Value, "two", true) ==
0 select k.Key).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
编辑2:我也只是敲了这个可能有效
foreach (KeyValuePair<string, string> kvp in myDic)
{
if (myList.Any(x => x.Id == kvp.Value))
myDic.Remove(kvp.Key);
}
Run Code Online (Sandbox Code Playgroud) 我怎样才能公开一个List<T>只读它,但可以私下设置?
这不起作用:
public List<string> myList {readonly get; private set; }
Run Code Online (Sandbox Code Playgroud)
即使你这样做:
public List<string> myList {get; private set; }
Run Code Online (Sandbox Code Playgroud)
你仍然可以这样做:
myList.Add("TEST"); //This should not be allowed
Run Code Online (Sandbox Code Playgroud)
我想你可以:
public List<string> myList {get{ return otherList;}}
private List<string> otherList {get;set;}
Run Code Online (Sandbox Code Playgroud) 代理,包装器或façade类之间有什么区别
它们对我来说似乎都是一样的,它们采用实现,封装它然后在调用封装对象的方法的包装器/代理/外观类上调用方法.
请说明为什么它们与示例不同.
谢谢
我有一个List<int>例如1,2,4,7,9.
我的范围从0到10.
有没有办法确定该序列中缺少的数字?
我认为LINQ可能提供一个选项,但我看不到一个
在现实世界中,我的列表可以包含100,000个项目,因此性能是关键
我有
string[] pkgratio= "1:2:6".Split(':');
var items = pkgratio.OrderByDescending(x => x);
Run Code Online (Sandbox Code Playgroud)
我想选择中间值并提出这个问题.这是在IEnumberable中选择第二个值的正确方法吗?
pkgratio.Skip(1).Take(1).First();
Run Code Online (Sandbox Code Playgroud) 我有一张像这样的桌子:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div class="container">
<div class="panel-body">
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped">
<thead>
<tr>
<th class="col-md-1">Id</th>
<th class="col-md-1">Enabled</th>
<th class="col-md-1">Shortcode</th>
<th class="col-md-1">Keyword</th>
<th class="col-md-1">Session Based</th>
<th class="col-md-1">Application SMS Endpoint</th>
<th class="col-md-2">Application MMS Endpoint</th>
<th class="col-md-2">Date From</th>
<th class="col-md-2">Date To</th>
</tr>
</thead>
<tbody>
<tr>
<td>1502</td>
<td>True</td>
<td>+44123456789</td>
<td>*</td>
<td>False</td>
<td>http://google.com/sms</td>
<td>NOTUSED</td>
<td>10 March 2014 19:04:15</td>
<td>01 January 2100 00:00:00</td>
</tr>
<tr>
<td>1212</td>
<td>True</td>
<td>+44123456789</td>
<td>*</td>
<td>False</td>
<td>http://somewhere.local:8080/</td>
<td>NOTUSED</td>
<td>06 March 2014 14:00:12</td>
<td>04 …Run Code Online (Sandbox Code Playgroud) 我有一个无序列表:
<ul id="sortable">
<li id="1" class="ui-state-default">First <a href='#' title='delete' class="itemDelete">x</a></li>
<li id="2" class="ui-state-default">Second <a href='#' title='delete' class="itemDelete">x</a></li>
<li id="3" class="ui-state-default">Third <a href='#' title='delete' class="itemDelete">x</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想删除<li>从<ul>.我已经处理了类itemDelete的click事件,我尝试删除但我认为它不起作用,因为我无法删除,<li>因为孩子正在调用它?
$('.itemDelete').live("click", function() {
var id = $(this).parent().get(0).id;
$("#" + id).remove();
});
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法?
我一直在尝试使用装饰器模式来扩展你不想触摸的代码的功能,我看到了如何实现它,但我现在不确定你为什么不继承原始类并扩展那种方式.
我已经读过装饰器模式允许您在运行时添加功能,而继承意味着它在编译时.
我不明白这一点.
有人可以解释一下,提供示例并解释何时使用装饰器与继承更好.
谢谢
如果我有以下代码,我应该只调用Action还是应该调用Action.Invoke?
public class ClassA
{
public event Action<string> OnAdd;
private void SomethingHappened()
{
if (OnAdd != null)
OnAdd("It Happened"); //Should it be OnAdd.Invoke("It Happened") ???????
}
}
public class ClassB
{
public ClassB()
{
var myClass = new ClassA();
myClass.OnAdd += Add;
}
private void Add(string Input)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud) 是否可以使用Moq来说一个方法接受一个以"ABC"开头的字符串.
举个例子:
logger.Verify(x => x.WriteData(Moq.It.IsAny<string>().StartsWith("ABC")), Times.Exactly(3));
Run Code Online (Sandbox Code Playgroud)
那不会编译,但希望它说明了我的观点
c# ×8
.net ×6
linq ×3
c#-3.0 ×2
.net-3.5 ×1
algorithm ×1
css ×1
decorator ×1
delegates ×1
dictionary ×1
generics ×1
html ×1
inheritance ×1
javascript ×1
jquery ×1
jquery-ui ×1
moq ×1
unit-testing ×1