小编Roy*_*mir的帖子

Linq中的Row_number(分区xxx)?

我有一个DataTable具有这种结构和数据:

id |   inst   |   name
------------------------
 1 |  guitar  |  john
 2 |  guitar  |  george
 3 |  guitar  |  paul
 4 |  drums   |  ringo
 5 |  drums   |  pete

我可以检索这样的记录:

IEnumerable <Beatle>...

class Beatle
{
  int id;
  string inst;
  string name;
}
Run Code Online (Sandbox Code Playgroud)

我想获得那些演奏不同乐器的人的内部秩序.在MSSQL我会用

SELECT 
    *
    ,Row_Number() OVER (PARTITION BY inst ORDER BY id) AS rn
FROM Beatles
Run Code Online (Sandbox Code Playgroud)

此查询返回

id |   inst   |   name  | rn
-----------------------------
 1 |  guitar  |  john   | 1
 2 | …

c# linq .net-4.0

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

如果序列为空,如何使LINQ的Max-function返回默认值?

我有这个代码:

List<int> myList = new List<int>();
var max = myList.Max();
Console.Write(max);
Run Code Online (Sandbox Code Playgroud)

我想要确保如果列表中没有元素,它应该使用int(0)的默认值.但是InvalidOperationException却被抛出,说明"序列不包含任何元素".

当然我可以使用Any或查询语法(如此处所示).但我想用流利的语法来做.

我怎样才能解决这个问题?

c# linq .net-4.0

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

从chrome扩展获取唯一的ClientID?

我正在开发chrome扩展.我需要能够将每个客户端识别为唯一的客户端.

因为可以删除cookie,所以我无法将guid存储在cookie中.我需要从系统本身读取一些独特的东西.

现在 - 我知道JS无法访问客户端资源(本地资源)但是 - 这是我的问题:

chrome扩展Js是否提供获取唯一客户信息的API(我不关心什么数据 - 只要它是唯一的).

编辑:

只是为了澄清:

将向用户显示唯一键(其是他的计算机的哈希数据).此代码将发送给我,我将提供用户将被发送的匹配结果(通过电子邮件),然后 - 他将能够使用该扩展.

(不,并非所有国家都通过钱包支持延期付款,我在其中一个国家)

javascript google-chrome google-chrome-extension

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

iframe没有src但仍有内容?

在他们的网站上调试jquery代码时(通过chrome开发人员工具栏)

我注意到他们的例子是在下面给出的Iframe:

这里 - 例如,有一个样本位于Iframe下,但在调查之后,我看到Iframe没有SRC

图为这一切

在此输入图像描述

题 :

是否可以在不设置其SRC的情况下将内容设置为Iframe?

ps这个菜单还显示了一个空内容

在此输入图像描述

html javascript iframe jquery dom

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

C#强制转换为可空类型?

超越Cast和之间的常规无聊差异As

  • 如果我知道那个苹果水果,所以我可以使用(Fruit)apple-如果它是不是它抛出一个异常
  • as value 可以检查null是否成功[不会抛出异常...]

不过我一直在阅读@EricLippert 关于此的文章,并且有一个关于Nullable Value Types的很好的示例:

short? s = (short?)123;
int? i = s as int?;
Run Code Online (Sandbox Code Playgroud)

不会编译......

无法转换类型'短?' 'int?' 通过引用转换,装箱转换,拆箱转换,换行转换或空类型转换

精细.

那么为什么呢:

    short? s = (short?)123;
    int? i = (int?)s;
Run Code Online (Sandbox Code Playgroud)

是否编译?(违背所有期望!我知道s不是 int? - 它应该是BANG但它不是......)

这里的演员阵容应该比前一个例子(轰动了)更加致命

我对这个备受关注的话题感到很难过.

提前致谢.

c# clr casting .net-4.0

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

易失性与易失性读/写?

我找不到任何 VolatileRead/write(尝试...)的例子,但仍然:

何时应该使用volatilevs VolatileRead

AFAIK的全部目的volatile是创造围栏所以:

  • 对于READ操作,在当前操作之后进行的读/写(在其他线程上)将不会在栅栏之前传递.因此 - 我们读了最新的价值.

问题#1

那我为什么需要volatileRead?似乎volatile已经做好了工作.

另外 - 在C#中,所有写入都是易失性的(与Java中不同),无论您是写入volatile还是非易失性字段 - 所以我问:为什么我需要 volatileWrite

问题2

这是实施VolatileRead:

[MethodImpl(MethodImplOptions.NoInlining)]
public static int VolatileRead(ref int address)
{
    int num = address;
    MemoryBarrier();
    return num;
}
Run Code Online (Sandbox Code Playgroud)

为什么这条线路int num = address;在那里?他们已经有了明确保持价值的地址参数.

c# multithreading volatile .net-4.0

29
推荐指数
2
解决办法
6120
查看次数

CORS和Origin标题?

当我们需要调用Ajax请求时,我们会:

if(typeof XMLHttpRequest !== 'undefined') xhr = new XMLHttpRequest();
else
{
    var versions = ["Microsoft.XmlHttp",
            "MSXML2.XmlHttp",
            "MSXML2.XmlHttp.3.0",
            "MSXML2.XmlHttp.4.0",
            "MSXML2.XmlHttp.5.0"
    ];
Run Code Online (Sandbox Code Playgroud)

我已经知道,使用XMLHttpRequest-2,我们可以做一个跨源请求该ORIGIN头被添加.

题:

  • 这个标题何时添加?

    • 是否在浏览器(支持CORS)执行请求时添加?(跨域还是非跨域?)
    • 或者当浏览器"看到"请求目标源与当前源不同时自动添加...

我的意思是:大胆的线是什么意思?

跨源HTTP请求具有Origin头.此标头为服务器提供请求的来源.此标头受浏览器保护,无法从应用程序代码更改.本质上,它是在Cross Document Messaging中使用的消息事件中找到的origin属性的网络等价物.origin标头与旧的referer [sic]标头不同,因为referer是包含路径的完整URL.由于路径可能包含敏感信息,因此有时不会通过尝试保护用户隐私的浏览器发送引用.但是,浏览器将始终在必要时发送所需的Origin标头.

javascript ajax http http-headers cors

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

@@ rowcount的范围?

范围是@@rowcount什么?MSDN没有提到它的范围.

返回最后一个语句影响的行数.

好.

在我的SP -我插入一个表格,里面有insert trigger哪些呢另一插入时,一个新的值插入到表中.

题:

@@rowcount将参考哪个范围?(触发器还是SP)?

sql-server rowcount

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

异步等待性能?

(只是一个理论问题 - 对于非gui应用程序)

假设我有很多这样的代码awaits:

public async Task<T> ConsumeAsync()
    {
          await A();
          await b();
          await c();
          await d();
          //..
    }
Run Code Online (Sandbox Code Playgroud)

每项任务可能需要很短的时间,

问题(再次,理论)

可能是 其中的一个情况总体时间处理所有那些"释放回线",在这里"获取线程回"(红色和绿色:)

在此输入图像描述

花费的时间比单个线程花费更多的时间,可以通过少量延迟完成所有工作,

我的意思是,我想成为最富有成效的人,但相反,因为所有这些来回切换 - 我实际上失去了生产力.

这种情况会发生吗?

c# theory performance async-await

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

url-Encode vs Base64编码(用法)?

我在想...

(除了base64的问题加上查询字符串中的'+'符号 - 它被转换为'space'并且可以通过%2b解决):--->哪个是在查询字符串中传输数据的首选方法?

这两个函数都可以通过JS命令使用:

  • btoa
  • encodeUriComponent

所以我问自己(和你):

什么时候应该用什么?(我一直用 encodeUriCompoonent- 本能).

定义不同的问题 - 但实现可能类似......

编辑

我想我已经找到了询问的理由......(以及为什么之前没有人问过)

在此输入图像描述

javascript asp.net base64 encodeuricomponent query-string

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