小编Bre*_*ata的帖子

使用C#中的Json.NET计算JSON字符串中的元素数

我有一个JSON字符串,如下所示:

{
"package1": {
    "type": "envelope",
    "quantity": 1,
    "length": 6,
    "width": 1,
    "height": 4
},
"package2": {
    "type": "box",
    "quantity": 2,
    "length": 9,
    "width": 9,
    "height": 9
}
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Json.NET LINQ to JSON功能来处理我的JSON字符串,但我想知道我怎么能找到节点/元素/键的总数(我真的不确定它叫什么)在我的串.例如,上面的字符串有package1和package2所以我想知道如何让它返回整数2.有时我可能只有一个包,在这种情况下,我希望它返回整数1.其他我可能有20个包(在这种情况下,我希望它能返回20个).

我的JObject看起来像这样:

JObject o = JObject.Parse(myJsonString);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢你的帮助.

c# json json.net

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

C#从列表中删除列表

如果符合某些要求,是否有一种方便的方法从另一个列表中删除嵌套列表?例如,假设我们有一组止损,我们决定将每个止损集合称为一条路线.每条路线都在列表中.然后我们决定将每条路线放入一个列表中.

所以现在我们有一个路由列表,有人决定某些类型的路由确实不应该包含在路由列表中.我该如何删除这些路线?这是一些示例代码:

示例类

public class Stops
{
    public Stops(int _param1, string _param2)
    {
        param1 = _param1;
        param2 = _param2;
    }

    public int param1 { get; set; }
    public string param2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

创建列表

List<List<Stops>> lstRoutes = new List<List<Stops>>();
List<Stops> lstStops = new List<Stops>();
List<Stops> lstMoreStops = new List<Stops>();

// Create some stops
for (int i = 0; i < 5; i++)
{
    lstStops.Add(new Stops(i, "some text"));
}

lstRoutes.Add(lstStops);

// Create some more stops
for (int i = …
Run Code Online (Sandbox Code Playgroud)

c# linq

9
推荐指数
1
解决办法
3701
查看次数

使用C#中的Neo4jClient在Neo4j中创建节点之间的关系

我正在使用.Net Neo4jClient(http://hg.readify.net/neo4jclient/wiki/Home)与Neo4j合作.在我的代码中,节点是机场,关系是航班.

如果我想同时创建节点和关系,我可以使用以下代码:

public class Airport
{
    public string iata { get; set; }
    public string name { get; set; }
}

public class flys_toRelationship : Relationship, IRelationshipAllowingSourceNode<Airport>, IRelationshipAllowingTargetNode<Airport>
{
    public static readonly string TypeKey = "flys_to";

    // Assign Flight Properties
    public string flightNumber { get; set; }

    public flys_toRelationship(NodeReference targetNode)
        : base(targetNode)
    { }

    public override string RelationshipTypeKey
    {
        get { return TypeKey; }
    }
}
Run Code Online (Sandbox Code Playgroud)

主要

// Create a New Graph Object
var client = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net neo4j neo4jclient

5
推荐指数
1
解决办法
3272
查看次数

我们能查出一个谷歌地图是否已经初始化了吗?

假设我们已经用一些代码初始化了一个地图:

function initialize() {
    var mapOptions = {
        center: new google.maps.LatLng(-34.397, 150.644),
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map-canvas-0"),
        mapOptions);
}
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以确定页面上的特定地图是否已初始化(在这种情况下,地图位于 id="map-canvas-0")?

我可以想到一些使用隐藏字段的方法,但我希望有一种更简单的方法。

javascript google-maps

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

在C#中修改对象

(如果你能想到一个更好的头衔,请告诉我.)

我正在研究路线优化计划.我从一个路线需要包含的点列表开始.我的第一步是创建所有可能路由(排列)的列表.然后我删除任何我可以的路线(例如,如果一个停止必须在另一个之前).完成后,我计算每个可能路线中每个点之间的距离和时间.每个点都是一个对象(TPoint),所有距离和时间值都存储在一个名为TData的单独类中,该类存储在每个TPoint实例中.我的问题是这样的:当我尝试更新TData时,比如第一站,在第一个可能的路线中,它将更新每个可能路线中相同TPoint的TData.这是因为类是引用类型并存储在堆上.我正在寻找一种解决方案,允许我在每个TPoint上存储TData.

下面是一些示例代码(下面的代码演示了当我修改一个对象(TPoint)时,我实际上只是使用引用来修改堆上的对象):

主要

// Let's create a list of points we need to hit.
List<TPoint> lstInitial = new List<TPoint>();
lstInitial.Add(new TPoint("A", new TData(-1, -1)));
lstInitial.Add(new TPoint("B", new TData(-1, -1)));
lstInitial.Add(new TPoint("C", new TData(-1, -1)));

// Now let's get all possible routes
IList<IList<TPoint>> lstPermutations = Permutations(lstInitial);

// Let's write these values to the first point, in the first possible route.
lstPermutations[0][0].oTData.distance = 10;
lstPermutations[0][0].oTData.minutes = 20;

foreach (IList<TPoint> perm in lstPermutations)
{
    foreach (TPoint p in perm)
    {
        Response.Write(p.id + …
Run Code Online (Sandbox Code Playgroud)

c#

2
推荐指数
1
解决办法
192
查看次数

标签 统计

c# ×4

asp.net ×1

google-maps ×1

javascript ×1

json ×1

json.net ×1

linq ×1

neo4j ×1

neo4jclient ×1