我正在探索.NET 4.5 System.Json库的功能,但是没有太多文档,而且由于流行的JSON.NET库,搜索起来非常棘手。
我基本上想知道,例如,如何遍历一些JSON:
{ "People": { "Simon" : { Age: 25 }, "Steve" : { Age: 15 } } }
我的字符串中包含JSON,我想遍历并显示每个人的年龄。
所以首先我要做:
var jsonObject = JsonObject.Parse(myString);
但是后来我不知所措。我很惊讶parse方法返回JsonValue而不是JsonObject。
我真正想做的是:
foreach (var child in jsonObject.Children)
{
if (child.name == "People")
{
// another foreach to loop over the people
// get their name and age, eg. person.Name and person.Children.Age (LINQ this or something)
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一些输入,像这样: "Steve Brian McFistycuffs Johnson"
我想查看我的数据库,并以任何顺序返回包含这些单词的所有记录.
我做的是什么
var matches = myContext.MyTable.Where( c => c.Name.Contains("Steve") && c.Name.Contains("Brian") && c.Name.Contains("McFistycuffs") && c.Name.Conains("Johnson"));
但是我需要动态地执行此操作,并且单词的数量可能会发生变化.
我还想确保无论我选择什么,它都不会影响实体框架创建SQL语句,例如.我想确保尽可能优化它.这意味着在lambda中做某种foreach可能不会起作用,因为实体框架不能轻易地将它映射到SQL.
有什么建议?
我知道怎么做:
Expression body = Expression.Call(selector.Body, "Contains", null,
Expression.Constant("cats", typeof(string)));
Run Code Online (Sandbox Code Playgroud)
由于'contains'返回true/false,因此没有问题.
但是,我如何进行IndexOf并查看结果是否大于5?
Expression body = Expression.Call(selector.Body, "IndexOf", null,
Expression.Constant("cats", typeof(string)));
Run Code Online (Sandbox Code Playgroud) 这可能是显而易见的,但我无法理解它.
我有一个项目列表,例如:
BOB 5
Brian 5
Sam 6
James 7
Emily 8
Sandra 8
Michael 8
Run Code Online (Sandbox Code Playgroud)
这些是在 List<MyObject>
我想过滤列表,因此每个ID只有1个项目,通过选择具有唯一ID的第一个项目.
我应该结束
BOB 5
Sam 6
James 7
Emily 8
Run Code Online (Sandbox Code Playgroud)
我在制定干净的方法时遇到了麻烦.有任何想法吗?
它自动生成类的方式,它不会将连接字符串作为参数 - 尽管生成代码将一个传递给基类.我可以自己编辑模板,但是没有更好的方法,因为我可以重新生成模型(甚至删除和重新创建),我不希望它影响模板.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
public partial class MyEntities : DbContext
{
public MyEntities()
: base("<Connection string>")
{
}
...
Run Code Online (Sandbox Code Playgroud)
我正在使用DB第一种方法.一切正常但现在我已经创建了数据库的精确副本,我需要能够在两者之间切换.
我有一个文件夹中有一个 .txt 文件的项目。.txt 文件设置为嵌入式资源。
我用这段代码来阅读它:
var assembly = Assembly.GetExecutingAssembly();
var manifestResources = assembly.GetManifestResourceNames();
string s = manifestResources.Single(c => c.EndsWith("Cats.txt"));
Run Code Online (Sandbox Code Playgroud)
这很好用。
但是我更新了 Cats.txt 并注意到我的项目没有更新。
我删除了 Cats.txt,发现它仍然可以正常工作并读取文件。
我尝试清理我的解决方案、重建和 iisreset,但它似乎坚持认为该文件仍然存在于程序集中,尽管我删除了它。
有任何想法吗?
我有一份清单清单:
List<Tuple<string, List<SomeObject>>
Run Code Online (Sandbox Code Playgroud)
我想选择SomeObjects上面列表的所有行中存在的所有内容.
有些只会存在于一个或两个列表中,但我希望所有对象都存在于每个列表中,而其他对象则被丢弃.
如果没有一堆c#代码,我无法找到一个优雅的解决方案.有一个很好的方式吗?
我有三个文本框,我想验证它们.至少一个文本框必须包含数据.
我怎样才能做到这一点?
(文本框是家庭电话号码,工作电话号码,手机号码,我需要检查至少一种联系方式)
我想使用javascript来查找容器中的第一个文本框,因此我可以将其设置为聚焦,但文本框可以嵌套.有没有一种简单的方法可以循环直到遇到第一个文本框?
<div id="DateAndTime" style="clear:left; width:100%" class="Frame">
<h2>Date & Time Criteria</h2>
<h3>Permitted Days of the Week</h3>
<p class="DataForm" style="float:left">
<asp:CheckBox id="chkMonday" runat="server" Text="Monday"/><br />
<asp:CheckBox id="chkTuesday" runat="server" Text="Tuesday"/><br />
<asp:CheckBox id="chkWednesday" runat="server" Text="Wednesday"/><br />
<asp:CheckBox id="chkThursday" runat="server" Text="Thursday"/><br />
<asp:CheckBox id="chkFriday" runat="server" Text="Friday"/><br />
<asp:CheckBox id="chkSaturday" runat="server" Text="Saturday"/><br />
<asp:CheckBox id="chkSunday" runat="server" Text="Sunday"/><br />
</p>
<p class="DataForm" style="float:left">
<asp:CheckBox id="CheckBox1" runat="server" Text="Monday"/><br />
<asp:CheckBox id="CheckBox2" runat="server" Text="Tuesday"/><br />
<asp:CheckBox id="CheckBox3" runat="server" Text="Wednesday"/><br />
<asp:CheckBox id="CheckBox4" runat="server" Text="Thursday"/><br />
<asp:CheckBox id="CheckBox5" runat="server" Text="Friday"/><br …Run Code Online (Sandbox Code Playgroud) c# ×7
lambda ×2
linq ×2
.net-4.5 ×1
asp.net ×1
html ×1
javascript ×1
json ×1
textbox ×1
validation ×1