小编Jim*_*son的帖子

简化if(x == 1 || x == 2)

可能重复:
C#if语句匹配多个值

我经常发现自己编写代码,其中变量可以是A或B,例如当我在转发器上调用OnItemDataBound时:

protected void repeater_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {}
}
Run Code Online (Sandbox Code Playgroud)

然后我常常想,必须有一种更简单的方法.我想写一些类似的东西:

if(x == (1 || 2))
Run Code Online (Sandbox Code Playgroud)

SQL有IN(..)运算符,C#中有类似的东西吗?

WHERE x IN(1,2)
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用switch语句,但这并不简单.如果可能的话,我希望它在If语句中完成.

c#

15
推荐指数
3
解决办法
4815
查看次数

缺失:添加解决方案到源代码管理

我已成功安装并连接到Team Foundation 2012服务器.但我无法添加我的解决方案,当我右键单击解决方案时,我错过了它,请参见下图.

缺少向源代码管理添加解决方案

如果我尝试创建一个新的解决方案,我可以将它添加到我的源代码管理中.

很久以前,我在Team Foundation服务器2010上有代码,但是当试验结束时,我不得不停止使用该源代码控制.不确定这是否与此有关.

visual-studio-2012

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

多个同名内存数据库

关于这个答案,我试图通过设置UseInMemoryDatabase相同的名称来使多个上下文正常工作。下面的测试失败,第二个上下文为空。

我还需要做什么才能在内存数据库中共享相同的内容?

[Test]
public void MultipleContextTest()
{
    var firstContext = new FirstContext(new DbContextOptionsBuilder<FirstContext>().UseInMemoryDatabase("DB").Options);
    firstContext.Add(new Entity() {Name = "Test"});
    firstContext.SaveChanges();

    var secondContext = new SecondContext(new DbContextOptionsBuilder<SecondContext>().UseInMemoryDatabase("DB").Options);

    Assert.AreEqual(1, secondContext.Entity.Count());
}

public class FirstContext : DbContext
{
    public DbSet<Entity> Entity { get; set; }

    public FirstContext(DbContextOptions options) : base(options)
    {

    }
}

public class SecondContext : DbContext
{
    public DbSet<Entity> Entity { get; set; }

    public SecondContext(DbContextOptions options) : base(options)
    {

    }
}

public class Entity
{
    [Key]
    public …
Run Code Online (Sandbox Code Playgroud)

c# .net-core ef-core-2.2

6
推荐指数
1
解决办法
1900
查看次数

替换SQL中的字符串开头

SELECT REPLACE([strUrl], '/myoldurl', '/mynewurl') FROM [UrlRewrite]
Run Code Online (Sandbox Code Playgroud)

如果strUrl/myoldurl/myoldurl_something_else,则返回/mynewurl/mynewurl_something_else.我想要它/mynewurl/myoldurl_something_else.

我如何从SQL中的字符串开头替换?

sql sql-server

3
推荐指数
1
解决办法
9379
查看次数

从AD组获取用户

我有这个代码与组中的用户一起工作

DirectorySearcher myGroupSearcher = new DirectorySearcher(myDirectoryEntry);
myGroupSearcher.Filter = String.Format("(&(objectClass=group)(|(cn={0})(dn={0})))", strGroupName);
myGroupSearcher.PropertiesToLoad.Add("member");

SearchResult myGroupSearchResult = myGroupSearcher.FindOne();

if (myGroupSearchResult != null)
{
    ResultPropertyValueCollection myUsersInGroup = myGroupSearchResult.Properties["member"];

    int intMemberCount = myUsersInGroup.Count;

    for (int i = 0; i < intMemberCount; i++)
    {
        //Split the current result
        string[] strProperites = myUsersInGroup[i].ToString().Split(',');

        //Get the CN
        string strUsername = strProperites[0].Substring(3);

        DirectorySearcher myUserSearcher = new DirectorySearcher(myDirectoryEntry);
        myUserSearcher.Filter = String.Format("(&(objectClass=user)(|(cn={0})(sAMAccountName={0})))", strUsername);
        myUserSearcher.PropertiesToLoad.Add("memberOf");

        SearchResult myUserSearchResult = myUserSearcher.FindOne();

        //Do some work
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于大多数用户,但对于某些用户来说,strUsername会根据客户AD的外观(如果用户有CN包含)进行调整.因此,此解决方案不是最佳使用方式.有没有办法在搜索组中的成员时获取samaccount名称?或者,还有更好的方法?

c# active-directory

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

在ASP:RadioButton上设置值

我知道这在过去一直对我有用,但我radiobutton忽略了设置my值的尝试,并将值设置为我的单选按钮的ID.

ASP.Net

<asp:RadioButton ID="rb" runat="server" />
Run Code Online (Sandbox Code Playgroud)

代码背后

//Test 1
rb.InputAttributes.Add("value", "foo");

//Test 2
rb.InputAttributes["value"] = "foo";
Run Code Online (Sandbox Code Playgroud)

HTML输出

<input id="rb" type="radio" name="rb" value="rb" />
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

在ASP.Net标记中设置值是有效的,但我宁愿从代码隐藏中执行此操作.

asp.net

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

占位符可见总是错误的

我在updatepanel中有一个占位符,它也位于占位符和updatepanel中.但是,根据我的测试,这个布局对此错误无关紧要.我的占位符始终将可见设置为false,即使我尝试将其设置为true.我试图深入思考代码,并且将占位符设置为true的代码正在运行.然而,它并没有将它设置为真.

myPlaceholder.Visible = true;

if(myPlaceholder.Visible)  
//Do stuff inside placeholder

myUpdatePanel.Update();
Run Code Online (Sandbox Code Playgroud)

这仅发生在第一次加载时,在回发时myPlaceholder visible设置为true.它可能是Web应用程序中的其他错误并且会产生此错误,但它如此之大,我不知道从哪里开始查找.我希望有人有类似的问题可以指出我正确的方向.

c# asp.net updatepanel placeholder

1
推荐指数
1
解决办法
2724
查看次数