小编cjo*_*hns的帖子

LINQ查询以查找列表中的项是否包含在另一个列表中

我有以下代码:

List<string> test1 = new List<string> { "@bob.com", "@tom.com" };
List<string> test2 = new List<string> { "joe@bob.com", "test@sam.com" };
Run Code Online (Sandbox Code Playgroud)

我需要删除test2中有@ bob.com或@ tom.com的人.

我试过的是这个:

bool bContained1 = test1.Contains(test2);
bool bContained2 = test2.Contains(test1);
Run Code Online (Sandbox Code Playgroud)

bContained1 = false但是bContained2 = true.我宁愿不遍历每个列表,而是使用Linq查询来检索数据.bContained1与我在下面创建的Linq查询的条件相同:

List<string> test3 = test1.Where(w => !test2.Contains(w)).ToList();
Run Code Online (Sandbox Code Playgroud)

上面的查询适用于完全匹配但不是部分匹配.

我查看了其他查询,但我可以找到与Linq的近似比较.任何想法或任何你可以指向我的地方都会有很大的帮助.

c# linq

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

Windows 8 IIS不会在asp.net应用程序中加载样式表和图像

我刚刚在我的计算机上安装了Windows 8,并尝试加载我的ASP.net应用程序.页面加载没有问题.但是,没有位于App_Themes目录中的图像或样式表加载.我有一个单独的文件夹,其中包含图像,并且它们会加载.我认为这是一些安全问题,但我无法找出它可能是什么.如果我将站点部署到我的开发2008 R2框,那么该站点正确加载,但它无法在我的Windows 8框上正确加载.

我的链接的一些例子是:

<link href="../App_Themes/Debug/style.css" type="text/css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

以上不加载.

<img id="ctl00_imgCompanyLogo" title="Header Logo" src="../Images/EmailImage.aspx?ID=6C633997-065C-44AD-9839-B754005B7995" style="border-width:0px;height:50px;width:220px;margin-left: 10px" />
Run Code Online (Sandbox Code Playgroud)

但是,这个确实如此.

注意:文件根本不加载的页面上没有加载错误.

更新:我还应该注意,当我使用Windows 7编写代码时,这确实有效.

更新:我在我的应用程序中添加了一个html页面并右键单击该页面并且该页面未呈现.但是,如果我创建一个新项目,页面会完美呈现.

Update2:我认为我找到了问题的根源,但我不知道该怎么做.如果在Windows 8计算机上创建新项目,则更改项目以使其使用虚拟目录而不是IISExpress(使用项目URL),然后不会加载任何样式表,也不会加载图像.

asp.net iis windows-8

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

需要在运行时强制转换 IQueryable&lt;T&gt;

我已经完成了我的研究,但我仍然无法找到解决这个问题的方法。我有一个程序在 linq to sql 中使用 lambda 表达式。我想将主要的 linq 对象实例化为动态对象,并根据指定的值在程序的其余部分将其转换为不同的类型。例如:

int Value1 = 'Ob1';
int Value2 = 'OB2';

int Currentval = Value1;

dynamic val;

if (Currentval == Value1;
        val = (from c in datacontext.UniqueTable1
               select c);
else
        val = (from c in datacontext.UniqueTable2
               select c);


dynamic val1;

if (Currentval == Value1)
{
  val1 = ((IQueryable<datacontex.UniqueTable1>)val).Where(c => c.ID == 2);
}
else if (Currentval == Value1)
{
  val1 = ((IQueryable<datacontex.UniqueTable2>val).Where(c => c.ID == 3);
}
Run Code Online (Sandbox Code Playgroud)

你不能做我上面提议的,因为编译器抱怨 Lambda 表达式。谁能帮我解决这个问题?

更新:

更改为动态时出现的错误是:

如果没有首先将 lambda …

c# linq-to-sql

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

仅在SSRS报告中显示标记或仅在SSRS报告中显示一列的标记

我需要在SSRS中的图表中显示三列,但其中一列只应显示为标记或行.我附上了我需要做的一个例子.

在此输入图像描述

reporting-services

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

标签 统计

c# ×2

asp.net ×1

iis ×1

linq ×1

linq-to-sql ×1

reporting-services ×1

windows-8 ×1