我有一些代码,我正在做一些奇怪的事情,从SortedList获取信息,然后回到另一个SortedList.我做了我的where子句,然后必须单独将所有KeyValuePairs放回到新的SortedList中.
这不是最有效,或者确实是推荐的方式,但我似乎无法找到更好的方法.
这是代码:
SortedList<DateTime, CalendarDay> most_days =
new SortedList<DateTime, CalendarDay>();
List<KeyValuePair<DateTime, CalendarDay>> days = this.all_days.Where (
n => n.Value.IsRequested || n.Value.IsApproved
).ToList();
foreach (KeyValuePair<DateTime, CalendarDay> kvp in days)
most_days.Add(kvp.Key, kvp.Value);
Run Code Online (Sandbox Code Playgroud)
关于如何清理它的任何想法(正如他们所说,少即是多)?
谢谢,
乔纳森
我有一个ASP.NET应用程序,它运行得很好,但它变得笨拙.我想在其中为任何新页面合并MVC3功能,并逐步转换所有旧页面.我计划使用Razor语法.
我有它的工作.我可以很好地提供页面.这是一场战斗,但事情看起来不错.我相信我拥有所有目录结构和引用的DLL.
我唯一真正的问题是IDE:
当我右键单击Controllers文件夹时,我无法选择"添加控制器..".Ditto for Views,以及项目右键菜单中的"Add Area ...".
我无法添加与MVC3(或MVC2,我也已安装)相关的模板项.
我也无法验证HTML5(所有标签都无效),但我认为这是一个单独的问题,因为此功能对我的MVC3项目也不起作用.
如果它对于作为MVC3项目创建的项目(使用Razor语法)不能很好地工作,我甚至不知道这些东西都丢失了,所以它必须是解决方案或项目中特定的东西,但我无法在任何地方找到它.
我的问题:我 在哪里更改这个以便IDE将其确认为MVC项目?
在Microsoft SQL Server中,如果我想在区分大小写的数据库中不敏感地搜索大小写,我可以运行以下SQL:
SELECT * FROM MyTable
WHERE MyField = 'BobDillon' COLLATE Latin1_General_CI_AI
Run Code Online (Sandbox Code Playgroud)
这将找到所有"bobdillon"条目.
如果我想在Oracle中做同样的事情,我知道我可以这样做:
SELECT * FROM MyTable
WHERE UPPER(MyField) = 'BOBDILLON'
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有直接等效的collate关键字,所以我可以根据需要搜索区分大小写和重音敏感度.
我想在 DIV 中显示 XML 数据。我的xml代码如下:
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>
Run Code Online (Sandbox Code Playgroud)
我希望它完全像在 div 中一样显示,所有行间距和 xml 标签都完全一样。
这可能吗?
任何人都可以向我解释为什么这两个在功能上有所不同?
第一个在我的样本数据上返回null,第二个返回预期的结果.我把这+ @""部分放在一起,以避免在空字符串上调用replace.
代码始终在我的示例数据上返回null:
to_follows_contact = db.CONTACTs.Where(n =>
n.ACCOUNTID == account.ACCOUNTID
&& (
(n.FIRSTNAME + n.MIDDLENAME + n.LASTNAME + @"").Replace(@" ", @"")
== @"TOFOLLOW"
||
(n.FIRSTNAME + n.MIDDLENAME + n.LASTNAME + @"").Replace(@" ", @"")
== @"FOLLOWTO"
)
).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
代码返回我的示例数据的正确联系人:
foreach (CONTACT n in db.CONTACTs.Where(n => n.ACCOUNTID == account.ACCOUNTID))
{
string ContactName = (n.FIRSTNAME + n.MIDDLENAME + n.LASTNAME + @"")
.Replace(@" ", @"");
if (ContactName == @"TOFOLLOW" || ContactName == @"FOLLOWTO")
to_follows_contact = n;
}
Run Code Online (Sandbox Code Playgroud) c# ×2
asp.net ×1
filter ×1
html ×1
lambda ×1
linq ×1
linq-to-sql ×1
oracle ×1
sortedlist ×1
xml ×1