小编Jon*_*Jon的帖子

根据值删除字典中的项目

我有一个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)

.net c# linq dictionary

53
推荐指数
2
解决办法
9万
查看次数

列表<T>只读私有集

我怎样才能公开一个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)

.net c# generics c#-3.0

50
推荐指数
4
解决办法
3万
查看次数

代理,包装器或façade类之间有什么区别

代理,包装器或façade类之间有什么区别

它们对我来说似乎都是一样的,它们采用实现,封装它然后在调用封装对象的方法的包装器/代理/外观类上调用方法.

请说明为什么它们与示例不同.

谢谢

.net c# design-patterns

50
推荐指数
3
解决办法
2万
查看次数

按顺序检查缺失的编号

我有一个List<int>例如1,2,4,7,9.

我的范围从0到10.

有没有办法确定该序列中缺少的数字?

我认为LINQ可能提供一个选项,但我看不到一个

在现实世界中,我的列表可以包含100,000个项目,因此性能是关键

c# linq algorithm

46
推荐指数
2
解决办法
4万
查看次数

LINQ - 在IEnumerable中选择第二项

我有

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)

c# linq .net-3.5 c#-3.0

44
推荐指数
5
解决办法
6万
查看次数

制作宽桌适合自举容器

我有一张像这样的桌子:

<!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)

html css twitter-bootstrap

35
推荐指数
5
解决办法
7万
查看次数

jQuery使用LI中的超链接从UL中删除LI

我有一个无序列表:

<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)

什么是最好的方法?

javascript jquery jquery-ui

32
推荐指数
3
解决办法
10万
查看次数

装饰器模式与继承的例子

我一直在尝试使用装饰器模式来扩展你不想触摸的代码的功能,我看到了如何实现它,但我现在不确定你为什么不继承原始类并扩展那种方式.

我已经读过装饰器模式允许您在运行时添加功能,而继承意味着它在编译时.

我不明白这一点.

有人可以解释一下,提供示例并解释何时使用装饰器与继承更好.

谢谢

.net c# inheritance design-patterns decorator

31
推荐指数
4
解决办法
9814
查看次数

是否使用Action.Invoke被认为是最佳做法?

如果我有以下代码,我应该只调用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)

.net c# delegates

30
推荐指数
4
解决办法
4万
查看次数

使用Moq.It.IsAny测试字符串以某事开始

是否可以使用Moq来说一个方法接受一个以"ABC"开头的字符串.

举个例子:

logger.Verify(x => x.WriteData(Moq.It.IsAny<string>().StartsWith("ABC")), Times.Exactly(3));
Run Code Online (Sandbox Code Playgroud)

那不会编译,但希望它说明了我的观点

.net c# unit-testing moq

29
推荐指数
2
解决办法
1万
查看次数