我正在尝试从一个列表中删除另一个列表中的firmID.我真的不懂linq,但我很确定我需要使用它.
List<Firm> firms = GetBusinessDevelopmentFirms(database);
List<Firm> trackedFirms = GetAllCLIFirmsBeingTrackedByUser();
var result = firms.Contains(i => trackedFirms.Contains(i.FirmID));
Run Code Online (Sandbox Code Playgroud)
最后一行不起作用,系统说"未知方法包含(?)"即使我已经"使用System.Linq;" 在班级的顶部.
我的想法是从所有公司的名单中删除一个跟踪公司列表,以找到未跟踪的公司.
我希望这是有道理的.
我有2个班级:
public class ObjectA
{
public int Id;
public string Name;
}
public class ObjectB
{
public int Id;
public string Name;
public List<ObjectA> ListOfObjectA;
}
Run Code Online (Sandbox Code Playgroud)
所以我有两个列表:一个是ObjectB(ListObjectB),另一个是包含ObjectA的id列表(称为ListOfIdsA).如果我想获得ObjectB的列表,其中ObjectB.ListOfObjectA在ListOfIdsA中.
我的第一个(和错误的)方法是
ListObjectB.Where(p=> ListOfIdsA.Contains(p.ListOfObjectA.Select(b=>b.Id)))
Run Code Online (Sandbox Code Playgroud)
但这显然会引发异常.我谷歌它,stackoverflowed,但我认为我的搜索技能在这方面不是很好,任何人都可以给这个忍者!(优选在lambda表达式中)
如果我使用仅在方法中需要的常量,最好在方法范围内或类范围内声明const吗?是否有更好的性能在方法中声明它?如果这是真的,我认为在类范围(文件顶部)定义它们以更改值并更容易重新编译更为标准.
public class Bob
{
private const int SomeConst = 100; // declare it here?
public void MyMethod()
{
const int SomeConst = 100; // or declare it here?
// Do soemthing with SomeConst
}
}
Run Code Online (Sandbox Code Playgroud) 我已将ImageButton设置为透明,因此该图标与背景幕控面板(如Android ActionBar)相匹配.这看起来很好,因为我想要它.
但是,当背景透明时,按下操作栏中的透明按钮时,您看不到蓝色突出显示.
我可以拥有一个透明的ImageButton,点击时还有高亮显示吗?
<ImageButton
android:id="@+id/nextItemButton"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@null"
android:src="@drawable/ic_media_ff" />
Run Code Online (Sandbox Code Playgroud) 我正在生成从1目录到另一个目录的相对路径.如果OutputDirectoryName属性是包含空格的目录,则使用%20而不是空格对空格进行编码.我正在创建一个Windows文件夹的相对路径,所以我必须使用空格我的相关路径.是否有一种干净的方式来指定URI的编码方式?我知道我可以在relativePath.ToString()上做一个stirng替换,但我想知道是否有更好的实现.谢谢.
public string GetOutputDirectoryAsRelativePath(string baseDirectory)
{
Uri baseUri = new Uri(baseDirectory);
Uri destinationUri = new Uri(OutputDirectoryName);
Uri relativePath = baseUri.MakeRelativeUri(destinationUri);
return relativePath.ToString();
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Entity Framework来获取表的总行数.我只想要行计数,没有where子句或类似的东西.以下查询有效,但速度很慢.返回计数4475大约需要7秒钟.
我的猜测是它正在迭代整个表,就像IEnumerable.Count()扩展方法的工作方式一样.
有没有办法可以"快速"获得总行数?有没有更好的办法?
public int GetLogCount()
{
using (var context = new my_db_entities(connection_string))
{
return context.Logs.Count();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个用于安装.NET Framework 4.0的软件包,如果需要安装的话.我意识到有类似的问题,但所有答案都只是片段,并没有描述它们进入的文件,以及它们是如何导入.wxs文件的.
这是我在Bundle.wxs文件中的内容.我收到有关多个输入部分的编译器警告.
错误2找到多个输入部分'{CF06625F-7B6B-4B6E-A24E-FDDCA7CFFFF4}'和'{0D1EE60A-FC4F-4083-8B1E-311E75A67B4C}'.单个目标中可能只存在一个输入部分.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle UpgradeCode="{C6FF478E-C3DA-4D78-929D-24C3F3307356}" Version="4.0">
<Chain>
<PackageGroupRef Id="NetFx40Redist"/>
</Chain>
</Bundle>
</Wix>
Run Code Online (Sandbox Code Playgroud)
WiX页面上的大多数链接都已损坏,并且未提及有关要在Bundle标记上使用的属性的任何内容,并且似乎要交换包/产品.我在Wix页面上找不到关于为Bundles设置GUID的提及.这是Wix 3.7的新功能吗?
http://wix.sourceforge.net/manual-wix3/install_dotnet.htm
我正在使用VS 2015,创建一个Univerasl应用程序.我想创建一个新视图(XAML).我可以右键单击,添加> XAML> XAML视图,然后使用我想要的名称和位置创建XAML.
但是,我如何在这里创建一个代码,例如MyNewView.xaml.cs,并将其"链接起来"作为我的解决方案资源管理器中的子节点?
是否可以将数据绘制到ZedGraph图形并将其保存为文件而不显示/生成用户可见的图形?我正在寻找处理大量数据集并生成图表并将其保存到文件中以便在应用程序之外查看.
如果无法做到这一点,是否可以在隐藏/最小化的表单上显示图表,保存图表,关闭窗口,并重复每个图表?
我在Wix 3.7上.我有一个MSI,我想设置一个注册表项(可能通过自定义操作,因为他将不得不检查该键是否已存在).
据我所知,bootstrapper项目中的Bundle无法更改机器状态(例如设置注册表).因此,我试图通过命令行参数传递<MsiProperty>,但似乎不会在我的日志文件中显示为引导程序的命令行参数.
束:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle
Name="MyInstallerBootstrapperLocalDb"
Version="1.0.0.0"
Manufacturer="some company"
UpgradeCode="PUT-GUID-HERE">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage Id="MyInstallerInstaller"
SourceFile="$(var.MyInstallerInstaller.TargetPath)"
Compressed="no">
<!-- TODO - if this is being set correctly, the MSI needs to
interpret it and set up the key-->
<MsiProperty Name="SetLocalDb" Value="yes"/>
</MsiPackage>
</Chain>
</Bundle>
</Wix>
Run Code Online (Sandbox Code Playgroud)