可能重复:
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语句中完成.
我已成功安装并连接到Team Foundation 2012服务器.但我无法添加我的解决方案,当我右键单击解决方案时,我错过了它,请参见下图.

如果我尝试创建一个新的解决方案,我可以将它添加到我的源代码管理中.
很久以前,我在Team Foundation服务器2010上有代码,但是当试验结束时,我不得不停止使用该源代码控制.不确定这是否与此有关.
关于这个答案,我试图通过设置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) 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中的字符串开头替换?
我有这个代码与组中的用户一起工作
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名称?或者,还有更好的方法?
我知道这在过去一直对我有用,但我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标记中设置值是有效的,但我宁愿从代码隐藏中执行此操作.
我在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# ×4
asp.net ×2
.net-core ×1
ef-core-2.2 ×1
placeholder ×1
sql ×1
sql-server ×1
updatepanel ×1