小编Ale*_*kin的帖子

使用JSON.NET将异构JSON数组反序列化为协变List <>

我有一个JSON数组,包含具有不同属性的不同类型的对象.其中一个属性称为"类型",它确定数组项的类型.以下是我的数据示例:

   [{
        type : "comment",
        text : "xxxx"
    }, {
        type : "code",
        tokens : [{
                type : "ref",
                data : "m"
            }, {
                type : "operator",
                data : "e"
            }
        ]
    }, {
        type : "for",
        boundLocal : {
            type : "local",
            name : "i",
            kind : "Number"
        },
        upperBound : {
            type : "ref",
            tokens : [{
                    type : "operator",
                    data : "3"
                }, {
                    type : "operator",
                    data : "0"
                }
            ]
        },
        body : [{
                type …
Run Code Online (Sandbox Code Playgroud)

c# json json.net deserialization

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

如何在C++中初始化struct数组?

我的structC++代码中有以下内容(我使用的是Visual Studio 2010):

struct mydata
{
    string scientist;
    double value;
};
Run Code Online (Sandbox Code Playgroud)

我想这样做是为了能够初始化它们以快速的方式,类似于C99或类初始化数组初始化在C#中,东西一拉:

mydata data[] = { { scientist = "Archimedes", value = 2.12 }, 
                  { scientist = "Vitruvius", value = 4.49 } } ;
Run Code Online (Sandbox Code Playgroud)

如果在C++中对于结构数组不可能这样做,我可以为一个对象数组做吗?换句话说,数组的基础数据类型并不重要,重要的是我有一个数组,而不是一个列表,并且我可以用这种方式编写初始化器.

c++ arrays struct initialization

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

C#插值字符串中的可选参数是什么?

插值字符串是C#6.0的新功能之一.

根据MSDN,嵌入式C#表达式的语法可以包含一个可选的逗号分隔值,如文档<optional-comma-field-width>中所述.

不幸的是,我没有找到这个字段的用途.

从名称可以看出,这个值设置了"插值"字段的最大大小,但是当我尝试以下表达式时:

var p = Process.GetCurrentProcess();
Console.WriteLine($"Process name is {p.ProcessName, 5}");
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

Process name is LINQPad.UserQuery
Run Code Online (Sandbox Code Playgroud)

.net c# string-interpolation c#-6.0

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

Visual Studio 2015 CTP中没有C#6.0?

我刚刚在Azure上创建了一个新的VM(使用Azure团队从图库中提供的图像)和即将在线出现的Visual Studio 2014的CTP版本,用于测试它,特别是使用新的C#6.0功能.

但是,它没有为开箱即用的C#6.0提供支持,因为没有语言扩展(主构造函数,属性初始化器,安全导航操作员)在那里工作.

MSDN上的博客条目建议将以下内容添加到项目设置中:

 <LangVersion>Experimental</LangVersion>
Run Code Online (Sandbox Code Playgroud)

但这在我的控制台项目中没有任何改变.即使是第二个链接示例代码也根本不编译.

安全导航操作员无法识别

我错过了什么吗?

c# visual-studio roslyn c#-6.0 visual-studio-2015

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

H#中的代数数据类型是否在F#中具有相同的区分联合?

我正在学习Haskell,并想知道Haskell中已知的代数数据类型是否与F#中的区分联合相同,或者它们之间存在一些细微差别.

我还非常感谢F#(我的第一个函数式语言)与其他函数式语言之间的良好比较,特别是在类似概念方面,但具有实质性但重要的差异.

f# haskell functional-programming algebraic-data-types discriminated-union

21
推荐指数
2
解决办法
1934
查看次数

F#中的命名空间别名?

使用时,我在F#代码中打开一些.Net程序集时会出现名称冲突问题

open System.IO
Run Code Online (Sandbox Code Playgroud)

我现在找到并使用的唯一选项是为冲突类型提供类型的全名,但这有点无聊.

是否有可能在F#中为.Net命名空间定义别名以防止名称冲突?

f# alias namespaces

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

如何在VS2010中清除F#中的屏幕?

有没有办法清除VS2010中的F#交互窗口?

#cls;;并且#clear;;不工作.

退出#quit;;导致重新启动F#interactive而不清除窗口内容.

尝试使用"删除"或"退格"删除文本会显示错误消息,指出文本是只读的.

f# visual-studio-2010 f#-interactive

19
推荐指数
2
解决办法
3999
查看次数

LINQ:从Dictionary获取给定值列表的键,反之亦然

我的代码中有以下结构Dictionary<TKeys, TValues> data;.我在两种数据类型上运行一些LINQ查询,并且经常需要在Keys和之间切换Values.获取给定值的键列表的最佳方法是什么,反之亦然?请通知,我通常有"IEnumerable的"和"的IEnumerable"我以前LINQ查询的结果,并希望有类似IEnumerable<TKeys> Dictionary.GetAllKeys(IEnumerable<IValues> vals)IEnumerable<TValues> Dictionary.GetAllValues(IEnumerable<IKeys> keys).

也许我需要其他数据容器来完成这项任务?

此致,亚历山大.

c# linq dictionary

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

MERGE/INSERT/DELETE SQL命令中有多个OUTPUT子句?

我有一个T-SQL脚本,使用s和s中的OUTPUT子句实现一些同步逻辑.MERGEINSERT

现在我在它上面添加一个日志层,我想添加第二个OUTPUT子句将值写入报表.

我可以OUTPUT在我的MERGE陈述中添加第二个条款:

MERGE TABLE_TARGET AS T
USING TABLE_SOURCE AS S
ON (T.Code = S.Code) 
WHEN MATCHED AND T.IsDeleted = 0x0
    THEN UPDATE SET ....
WHEN NOT MATCHED BY TARGET 
    THEN INSERT ....
OUTPUT inserted.SqlId, inserted.IncId
INTO @sync_table
OUTPUT $action, inserted.Name, inserted.Code;
Run Code Online (Sandbox Code Playgroud)

这是有效的,但只要我尝试添加目标

INTO @report_table;
Run Code Online (Sandbox Code Playgroud)

我之前收到以下错误消息INTO:

A MERGE statement must be terminated by a semicolon (;)
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个类似的问题,但它对我没有帮助,因为我要插入的字段在两个表之间不重叠,我不想修改工作同步逻辑(如果可能的话).

更新:

马丁史密斯的回答后,我有了另一个想法并重新编写了我的查询如下:

INSERT …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

如何在MS SQL Management Studio 2012中的调试会话期间查看表变量中的数据?

我想使用SSMS 2012调试复杂的T-SQL脚本.

我可以在调试模式下运行脚本并放置断点,以及逐步执行我的脚本,但是我看不到存储在表变量中的值.

Locals窗口中我看到所有这些变量,但它们的值显示为(table):

当地人的窗口

无法通过上下文菜单或单击变量来查看变量的内容.

我试图使用Immediate Window对表变量运行查询,但这似乎也不起作用.

即时窗口

知道如何从调试会话中的表变量中获取值吗?

debugging ssms table-variable sql-server-2012

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