小编use*_*053的帖子

用于存储长字符串的集合类是什么?

我将每隔.01秒获得一个JSON字符串甚至更快,我必须将其插入到某个集合中,这样我以后可以遍历每一行并进行一些处理并在此之后删除该行.插入过程不断进行.我是否使用ArrayList或有点困惑Queue.

所以基本上我会插入第一个消息,然后插入第二个然后......同时另一个进程将读取第一个插入的值来处理和删除该记录,然后是第二个插入的值.请告知哪一个最快,存储量少?或者任何其他系列最符合我的要求?

编辑: 我有两种方法 -

GetMessages() - 继续在队列中获取/添加消息(此处消息仅从一个源接收,该源继续发送消息并且在我们手动停止该过程之前不会停止)

ProcessMessages() - 将读取队列记录并在处理后从队列中删除它们

.net

16
推荐指数
3
解决办法
2056
查看次数

定时器在c#中跟踪websocket尖锐消息

我在我的Windows应用程序中使用websocket sharp dll来从GDAX服务器获取消息.到目前为止一切正常 - 消息即将到来,我正在处理它们.我被卡住的地方是消息停止发生的时候.至少我在WebSocket.OnMessage事件(https://github.com/sta/websocket-sharp)中没有找到任何可以帮助我跟踪消息何时停止的事情(我也尝试过emitonping)

现在我收到的消息有一个消息类型'Heartbeat',每秒发送一次.我想添加一个单独的计时器控件来检查心跳消息是否每秒都会到来,如果它停止了,那么我将需要重新连接服务器.但是,当消息停止发生时没有任何反应我如何跟踪它,我应该在哪里放置定时器代码来检查心跳消息何时停止?

我希望我能解释一下我被击中的情况.如果有人急于帮助我并需要更多投入,请告诉我.

更新

    private void _3_Load(object sender, EventArgs e)
    {          
        ConnectAndGetWebsocketFeedMessages();           
    }

    public delegate void WSOpen(string text);
    public delegate void WSMessage(string message);
    public delegate void WSError(string text);
    public delegate void WSClose(string text);

    private static string _endPoint = "wss://ws-feed.gdax.com";
    WebSocket ws = new WebSocket(_endPoint);

    private bool IsConnected { get; set; }
    private string ProductId { get; set; }

    string productId = "LTC-EUR";
    ConcurrentQueue<string> concurrentQueue = new ConcurrentQueue<string>();

    public void SetWebSocketSharpEvents()
    {
        ws.Log.Level = LogLevel.Trace; …
Run Code Online (Sandbox Code Playgroud)

c# websocket-sharp

8
推荐指数
2
解决办法
1922
查看次数

从GDAX Web套接字源获取数据

我想从这个wss获取数据://ws-feed.gdax.com

我对websocket一无所知.我正在阅读一些教程,它使用像websocket服务器,TCP等术语,我不知道.任何人都可以请建议我应该如何进行,如何编写ac#代码从上面获取数据.

这是我读取的用于获取实时数据的文档 - https://docs.gdax.com/#websocket-feed

通过创建窗口应用程序开始.在这里读到WebSocketSharp库可用于连接WebSockets,因此安装它并且到目前为止编写了这段代码:

using (var ws = new WebSocket("wss://ws-feed.gdax.com"))
        {
            ws.Connect();
             string json = "{\"type\": \"subscribe\",    \"product_ids\": [\"BTC-USD\"]}";
            ws.Send(json); //gives error -Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.
        }
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

c# websocket

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

如何使用 c# 通过 linq 构建数据透视表

我在我的 c# 代码中有这个数据表:

Date     | Employee | Job1 | Job2 |  Job3 |
---------|----------|------|------|-------|
1/1/2012 | A        | 1.00 | 1    |  1    |
1/1/2012 | B        | 2.5  | 2    |  2    |
1/1/2012 | C        | 2.89 | 1    |  4    |
1/1/2012 | D        | 4.11 | 2    |  1    |
1/2/2012 | A        | 3    | 2    |  5    |
1/2/2012 | B        | 2    | 2    |  2    |
1/2/2012 | C        | 3    | …
Run Code Online (Sandbox Code Playgroud)

linq pivot

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

SQL Server - 查找范围内的值

我有一个要求,我必须找到不同年龄组的人数,如:

0-5      12

6-10     35

11-15    26

16-20    57

20+      120
Run Code Online (Sandbox Code Playgroud)

我在SQL Server中创建一个存储过程,它将首先创建一个临时表并存储年龄组,就像一列将有0而另一列将有5等等.然后我将遍历它们并找到最小和最大范围之间的计数,并将计数与mim-max值存储在另一个临时表中.

有没有其他简单和更好的方法来实现此输出.请指教.

sql sql-server sql-server-2008

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

C# - 无法比较数组中的两个元素

这是我的代码:

 var distinctDateValues = dt.AsEnumerable()
                   .Select(row => new
                   {
                       Date = DateTime.Parse(row.Field<string>("DAY"))
                   })
                   .Distinct()
                   .ToList();

 distinctDateValues.Sort(); // getting error on this line
Run Code Online (Sandbox Code Playgroud)

distinctDateValues 中的值是:

在此处输入图片说明

我得到的错误是“无法比较数组中的两个元素。”

任何人都可以建议我在这里做错了什么。我想对distinctDateValues 的日期列中的值进行排序。

c# linq

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

从日期列获取按月过滤的行

我有一个数据表,其中记录的日期字段列的值为

11/1/2012
12/21/2012
12/22/2012
1/3/2013
1/5/2013
1/6/2013
1/7/2013
etc. 
Run Code Online (Sandbox Code Playgroud)

我想过滤记录并仅获取当前月份记录,即仅获取日期等于当前月份的行(将由DateTime.now查找).我们怎样才能用Linq和c#做到这一点.

c# linq date

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

类型名称“模型”在类型“ System.Web.Helpers.Chart”中不存在

我收到错误消息:类型'Models'在类型'System.Web.Helpers.Chart'中不存在

请帮助我解决这个问题。这是使用mvc和razor语法开发的代码:

模型

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.Mvc;

  namespace Chart.Models
  {
            public class FooBarModel
            {
                public IEnumerable<SelectListItem> Locations { get; set; }
            }
  }
Run Code Online (Sandbox Code Playgroud)

控制器:

        using Chart.Models;
        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Web;
        using System.Web.Mvc;

        namespace Chart.Controllers
        {
            public class FooController : Controller
            {
                //
                // GET: /Foo/

                public ActionResult Index()
                {
                    var locations = new[]
                    {
                        new SelectListItem { Value = "US", Text = "United States" },
                        new SelectListItem { Value = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-4

0
推荐指数
1
解决办法
3344
查看次数

'System.Data.EnumerableRowCollection <System.DateTime>'不包含'Distinct'的定义

在此代码中出错:

 var distinctDateValues = dt.AsEnumerable()
       .Select(row => DateTime.Parse(row.Field<string>("DATE")))
       .Distinct()
       .OrderByDescending(x => x)
       .ToList();
Run Code Online (Sandbox Code Playgroud)

'System.Data.EnumerableRowCollection'不包含'Distinct'的定义,并且没有扩展方法'Distinct'接受类型'System.Data.EnumerableRowCollection'的第一个参数可以找到(你是否缺少using指令或程序集引用?)

我在我的CLR程序中使用此代码.请建议我如何添加dll.添加引用时,它不会在SQL引用选项卡中显示System.Linq.

编辑:我正在使用3.5框架和Visual Studio 2010 CLR项目

c#

0
推荐指数
1
解决办法
2680
查看次数