为了简洁起见,在我的代码中,我希望能够执行以下操作:拥有一个集合,找到匹配lambda表达式的第一个元素; 如果存在,则返回属性或函数的值.如果它不存在,则返回null.
更新的例子w.类
我们有一些东西
class Stuff
{
public int Id { get; set; }
public string Value { get; set; }
public DateTime? ExecutionTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的目标是在调用它时很好地返回
var list = new Stuff[] { new Stuff() { Id = 1, Value = "label", ExecutionTime = DateTime.Now } };
// would return the value of ExecutionTime for the element in the list
var ExistingTime = list.FirstOrDefault(s => s.Value.Contains("ab")).ExecutionTime;
// would return null
var NotExistingTime = list.FirstOrDefault(s => s.Value.Contains("zzz")).ExecutionTime;
Run Code Online (Sandbox Code Playgroud)
是否可以使用一些linq-syntax-fu或者我必须在继续之前明确检查返回值? …
除了架构观点,我想知道.net在readonly属性和函数之间是否存在任何差异.属性只是功能的概念包装吗?
Private m_Property As String
Public ReadOnly Property PropertyGet() As String
Get
Return m_Property
End Get
End Property
Public Function FunctionGet() As String
Return m_Property
End Function
Run Code Online (Sandbox Code Playgroud)
拆解IL显示除了名称之外没有区别,但是在另一个级别有差异吗?吸气剂只是一个简短的功能(!?)手?
Edit
:哇,我真的很抱歉无法标记多个答案.
第一个回答指出使用属性序列化是通向启蒙的道路,因为我已经完全放弃了这个方面.在此之前,财产与功能的解释为"是"与"确实"感觉是任意的.现在,我更多地了解它.
我认为关于财产不是耗时的共识源于"是"/可序列化的概念.如果我的财产与数据库进行对话以存储"是"值,则会以可怕的方式中断.
我似乎无法在我的psake部署脚本中正确调用此可执行文件.
如果我这样做:
exec { "$ArchiverOutputDir\NServiceBus.Host.exe /install" }
Run Code Online (Sandbox Code Playgroud)
它只是输出这个(显然没有调用可执行文件 - 只输出该表达式的值):
c:\ReloDotNet2_ServiceEndpoints\Archiver\NServiceBus.Host.exe /install
Run Code Online (Sandbox Code Playgroud)
但如果我这样做:
exec { c:\ReloDotNet2_ServiceEndpoints\Archiver\NServiceBus.Host.exe /install }
Run Code Online (Sandbox Code Playgroud)
我从可执行文件中获得了预期的输出.
如何在psake中可执行文件的路径中使用变量正确调用可执行文件?如果这实际上是PowerShell问题,请随时更正问题以反映该洞察力.
一世
我在Entity Framework 4.1中有以下类(这些类已被修剪以保持代码可读)
public class MetaInformation
{
public int Id { get; set; }
public virtual MetaInformationObject RelatedTo { get; set; }
}
public abstract class MetaInformationObject
{
public int Id { get; set; }
public virtual List<MetaInformation> MetaInformations { get; set; }
}
[Table("Hardwares")]
public class Hardware : MetaInformationObject
{
[MaxLength(100)]
public string Name { get; set; }
}
public class Inventory
{
public int Id { get; set; }
public virtual List<Machine> Machines { get; set; …
Run Code Online (Sandbox Code Playgroud) 我使用log4net来记录异常,它通常可以正常工作.但我希望能够过滤掉包含特定文本字符串的异常.
我发现了这个实现过滤器的例子,但它与我想要的相反; 它只包含具有指定字符串的消息.我想排除指定的字符串.
<filter type="log4net.Filter.StringMatchFilter">
<stringToMatch value="My Exclude String" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
Run Code Online (Sandbox Code Playgroud)
是否可以排除指定的字符串?
我正在开发一个html地图制作工具,我想让我们的用户能够通过点击一个区域来快速创建形状,而不是让他们手动定义形状.
首先让我们来看看我们目前正在做什么.用户想要映射区域A.他要做的是在每个点上多次单击以定义形状的边界.
我想知道是否有一种算法可以让用户点击A区域并确定要处理哪些点,以便根据图像对比度在形状边界之后创建接近最佳的形状.
我处理这个问题的第一个想法是确定从点击点向上,向左,向下,向右的最远点.将这四点作为我们的起点.然后对于每个片段,使用新点细分它并沿着矢量法线移动新点,直到我碰到对比边缘.
当然,这种方法有一些限制,但这是我可以假设的
如果你们中的任何人知道这样的算法,那将是非常好的.
我需要从一些文本中找到格式错误的HTML内容; 我们让用户添加strong
和em
标记,但他们并不总是正确地关闭它们
This is some <b>correct</b> formatting
This is some <b>incorrect<b> formatting
Run Code Online (Sandbox Code Playgroud)
我想捕获格式不正确的实例,即开始标记后面没有结束标记的情况.我开始使用负面前瞻,但到目前为止还没有取得多大成功
<b>(?!.*?<\/b>.*?)<b>
Run Code Online (Sandbox Code Playgroud)
<b>
获得开场标记(?!
消极的预测
.*?
什么,但不贪婪<\/b>
结束标记.*?
什么,但不贪婪)
关闭前瞻<b>
另一个开场标签知道我怎么能这样做吗?
附录:我知道托尼的小马,但我觉得它现在不会出现.这个问题可以被替换为"我想找到两个出现的单词"zoinx",其中"palantir"之间没有出现"与HTML无关的"
更新需要2
这是我正在使用的两个查询(在两个查询中都省略了分页)
我想得到以下查询
SELECT *
FROM product
LEFT OUTER JOIN
(
SELECT *
FROM Cart
LEFT OUTER JOIN
cartproducts
ON Cart.Id = cartproducts.Cart_id
WHERE Cart.username = 'user'
)
AS CartFiltered
ON product.Id = CartFiltered.product_id
Run Code Online (Sandbox Code Playgroud)
但我似乎总是得到
SELECT *
FROM product
LEFT OUTER JOIN
cartproducts
ON product.Id = cartproducts.Product_id
LEFT OUTER JOIN
Cart
ON
cartproducts.cart_id = cart.id
WHERE Cart.username = 'user'
Run Code Online (Sandbox Code Playgroud)
我如何设法创建第一种查询?我希望我的问题更清楚:)缺乏清晰度有时候是我的大敌:p
更新:
FWIW,我仍然没有找到答案,我正在加载分页产品数据和整个购物车以显示正确的对象.原始解决方案,但它的工作原理,它击败了我一直试图让Criteria API认识我作为它的主人的组合.如果有人碰巧指出我正确的方向,我会很感兴趣;)
你好,
我很难在Criteria API中编写以下查询,我真的没有看到如何做到这一点:我希望有些人可以提供帮助.
在数据库上,我有产品.这些产品可以在许多推车(每个用户一个推车),每个推车可以包含许多产品,所以我们有很多关系.我想显示每个产品的列表,旁边还有一个小图标,告知用户该特定产品已经在购物车中.我做的是我向NHibernate询问我的产品,并在购物车所有者过滤的推车上做左外连接.
Dim critPage As ICriteria = Session.CreateCriteria(GetType(Product)) _
.SetFirstResult(pageNumber * itemsPerPage).SetMaxResults(itemsPerPage) _
.CreateCriteria("Carts", "c", …
Run Code Online (Sandbox Code Playgroud) 我们将为大型网站设计和实现UI.该网站的所有者对安全问题非常谨慎.我想知道在Javascript设计和编码时是否有客户端安全建议的检查表.
我有以下psake脚本
properties {
$ApplicationName = "test"
$ApplicationPath = "c:\this\is\$ApplicationName"
}
Task test {
"ApplicationName = $ApplicationName"
"ApplicationPath = $ApplicationPath"
}
Run Code Online (Sandbox Code Playgroud)
我想只将ApplicationName传递给脚本,以避免键入整个应用程序路径.但是当我使用-parameters
标志时,不会对属性应用任何更改
Invoke-psake .\script.ps1 -parameters @{ApplicationName = "another_test"} test
ApplicationName = test
ApplicationPath = c:\this\is\test
Run Code Online (Sandbox Code Playgroud)
这听起来不对,因为应该在任何属性块之前评估参数.当我使用该-properties
标志时,应用程序名称被更改,但不是路径
Invoke-psake .\script.ps1 -properties @{ApplicationName = "another_test"} test
ApplicationName = another_test
ApplicationPath = c:\this\is\test
Run Code Online (Sandbox Code Playgroud)
所以属性已经初始化了,但不应该-parameters
覆盖这种行为?
c# ×2
javascript ×2
psake ×2
.net ×1
algorithm ×1
canvas ×1
grammar ×1
left-join ×1
linq ×1
log4net ×1
logging ×1
nhibernate ×1
one-to-many ×1
powershell ×1
regex ×1
security ×1
subquery ×1
syntax ×1