小编Roy*_*mir的帖子

Calc utf-8字符串大小以字节为单位?

我有一串utf8.

我需要得到它的大小.(字节)

总是这样x2吗?//我的意思是乘以2

这有什么.net功能吗?

PS

我问这个问题是因为我的最新问题 ...我需要(在mempry映射文件中)来计算字符串(utf8)的偏移量 - 来自另一个进程..

c# string .net-4.0

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

Html5的文件API - BLOB使用?

我有一个文件输入: (jsbin)

 <input type="file"   accept="image/*" id="input" multiple   onchange='handleFiles(this)' />
Run Code Online (Sandbox Code Playgroud)

选择文件时,显示所选图像的小图像:

我可以用两种方式做到:

使用FileReader:

function handleFiles(t) //t=this
{
    var fileList = t.files;
    for (var i = 0; i < fileList.length; i++)
    {
        var file = fileList[i];
        var img = document.createElement("img");
        img.style... = ...
        document.getElementById('body').appendChild(img);
        var reader = new FileReader();
        reader.onload = (function (aImg)
        {
            return function (e)
            {
                aImg.src = e.target.result;
            };
        })(img);
        reader.readAsDataURL(file);
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

使用ObjectURL/BLOB:

 function handleFiles(t)
 {
     var fileList = t.files;
     for (var …
Run Code Online (Sandbox Code Playgroud)

javascript html5 blob fileapi

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

await在异步操作后没有恢复上下文?

我已经 从Noseratio那里读到了这个问题,这个问题显示了一个在等待完成其操作之后TaskScheduler.Current一样的行为.

答案指出:

如果没有执行任何实际任务,则与之TaskScheduler.Current 相同TaskScheduler.Default

这是真的.我已在这里看到它 :

  • TaskScheduler.Default
    • 返回一个实例 ThreadPoolTaskScheduler
  • TaskScheduler.Current
    • 如果从执行任务中调用将返回TaskScheduler 当前正在执行的任务
    • 如果从任何其他地方打电话将返回 TaskScheduler.Default

但转念一想,如果是这样,让我们创建一个实际的Task(不只是Task.Yield()),并对其进行测试:

async void button1_Click_1(object sender, EventArgs e)
{
    var ts = TaskScheduler.FromCurrentSynchronizationContext();
    await Task.Factory.StartNew(async () =>
    {
        MessageBox.Show((TaskScheduler.Current == ts).ToString()); //True

           await new WebClient().DownloadStringTaskAsync("http://www.google.com");

        MessageBox.Show((TaskScheduler.Current == ts).ToString());//False

    }, CancellationToken.None, TaskCreationOptions.None,ts).Unwrap();
}
Run Code Online (Sandbox Code Playgroud)

第一个Messagebox是"True",第二个是"False"

题:

如您所见,我确实创建了一个实际任务.

我可以理解为什么第一个MessageBox产量True.多数民众赞成:

如果从执行任务中调用,则返回当前正在执行的任务的TaskScheduler

而那个任务确实有ts发送的内容 …

.net c# task-parallel-library async-await

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

与SQL服务器RollUP相加 - 但只是最后一个摘要?

我有这个问题:

DECLARE @t TABLE(NAME NVARCHAR(MAX),datee date,val money)

insert INTO @t SELECT 'a','2012-01-02',100
insert INTO @t SELECT 'a','2012-01-02',100
insert INTO @t SELECT 'a','2012-01-03',100
insert INTO @t SELECT 'a','2012-01-05',100
insert INTO @t SELECT 'b','2012-01-06',200
insert INTO @t SELECT 'b','2012-01-07',200
insert INTO @t SELECT 'd','2012-01-07',400
insert INTO @t SELECT 'e','2012-01-09',500
insert INTO @t SELECT 'f','2012-01-12',600

SELECT  Name,datee,SUM (val) 
from @t GROUP BY NAME ,datee 
Run Code Online (Sandbox Code Playgroud)

目前的结果是:

在此输入图像描述

但我需要sum在最后添加.所以我尝试使用汇总:

 SELECT  Name,datee,SUM (val) 
    from @t GROUP BY NAME ,datee  with ROLLUP
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但我只需要最后一笔总和.我不需要报告中的内容 …

sql-server rollup sum sql-server-2008

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

List <T>容量增加vs词典<K,V>容量增加?

为什么List<T>将容量增加2倍?

private void EnsureCapacity(int min)
{
    if (this._items.Length < min)
    {
        int num = (this._items.Length == 0) ? 4 : (this._items.Length * 2);
        if (num < min)
        {
            num = min;
        }
        this.Capacity = num;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么Dictionary<K,V>使用素数作为容量?

private void Resize()
{
    int prime = HashHelpers.GetPrime(this.count * 2);
    int[] numArray = new int[prime];
    for (int i = 0; i < numArray.Length; i++)
    {
        numArray[i] = -1;
    }
    Entry<TKey, TValue>[] destinationArray = new Entry<TKey, TValue>[prime];
    Array.Copy(this.entries, 0, …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

jQuery改变了isNumeric(最新版本)?

直到最近的版本,jQuery用于检查数字是否通过:

return !isNaN( parseFloat(obj) ) && isFinite( obj );

第一部分是:

  • parseFloat("d") //Nan
  • !isNaN( parseFloat(Infinity)) //true but not a number

所述第二部分是:

  • isFinite('2') //true

但在最近的版本中,他们更改了它并将其更改为:

return !jQuery.isArray(obj) && (obj - parseFloat(obj) + 1) >= 0;
Run Code Online (Sandbox Code Playgroud)

题:

在之前的版本中,他们将它改为新版本还不够好?为什么他们检查阵列?

javascript jquery

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

C#6改进了重载分辨率 - 澄清?

在C#6的所有新功能中,最神秘的功能(对我而言)是"改进的重载分辨率".

也许是因为我无法找到有关它的相关信息/示例/解释.

剩下的两个未讨论的功能是支持定义自定义Add扩展方法以帮助收集初始化器, 以及一些次要但改进的重载决策

看着roslyn维基

重载决策有许多小的改进,这可能会导致更多的东西按照你期望的方式工作.这些改进都与"更好"有关 - 编译器决定哪两个重载对于给定参数更好.

所以我问:

问题:

改进的重载分辨率究竟是如何在C#6中发挥作用的?和如何它是从C#5不同(实施例?文档?)

c# c#-6.0

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

找到文件夹安装的sql版本(!)?

我已经看过这个链接,但没有帮助: 如何确定已安装的SQL Server实例及其版本?

所以这是我的问题: 在此输入图像描述

我想看看我的计算机上安装了哪些版本的sql.

如果我正在运行查询并输入:

select @@version
Run Code Online (Sandbox Code Playgroud)

它告诉我正在运行的线程版本.(我不想要)

我希望看到所有版本 - 如果已安装!

示例:计算机可以具有sql 2000,2005,2008,2008R2

我为我的sql server文件夹附加了一个打印屏幕.

我知道

80 = SQL Server 2000
90 = SQL Server 2005
100 = SQL Server 2008
Run Code Online (Sandbox Code Playgroud)

但是,这不是一个规则.

自2008年以来创造了80,90.

似乎找到安装版本的唯一方法(除了regedit)是由Sql Server配置管理器完成的.

在此输入图像描述

问题:

1)仅通过文件系统可以检测我安装的版本吗?

2)有没有其他方式(除了注册表),看看安装了哪些SQL版本?

3)我读到mssql.1是针对引擎的.那MSSQL10.SQLEXPRESS怎么样?为什么它没有mssql.4号码?MSDN表示它是已安装组件的顺序ID.

sql-server

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

Facebook和跨域消息传递澄清?

我想调查facebook登录如何将数据传输到主页面(mypage) - 尽管跨域限制.

所以我用FB js sdk代码创建了一个新页面:

FB.login(function (response)
    {
    if (response.authResponse)
        {...
Run Code Online (Sandbox Code Playgroud)

它确实打开了弹出窗口:

在此输入图像描述

但是当我调查我的页面上是否有任何Iframe (我的代码不包含任何iframe):

我看到了这个 :

>>$("iframe")
Run Code Online (Sandbox Code Playgroud)

结果:

[
<iframe name=?"fb_xdm_frame_http" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_http" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"http:?/?/?static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#channe…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
, 
<iframe name=?"fb_xdm_frame_https" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_https" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"https:?/?/?s-static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#cha…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
]
Run Code Online (Sandbox Code Playgroud)

我读到它们用于跨域.

但问题是为什么他们在MY PAGE上

他们应该在Facebook内部页面的某个地方!

我这么说是因为我知道iframe技术的工作原理如下:

在此输入图像描述

如您所见 - 内部Iframe 使用查询字符串中的值创建另一个 iframe SRC(该值实际上是首页url),然后,在两个页面上使用JS + URL => JS …

javascript facebook cross-domain facebook-javascript-sdk

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

澄清线程池最大线程

我在这里读到:

在v2.0,3.5和4.0中,ASP.NET 初始化每个处理器(核心)100个线程的CLR ThreadPool

这是正确的,我检查了它(我有8个核心机器,所以8*100 = 800):

在此输入图像描述

但后来我看到了这个这个:

maxWorkerThreads - 基于每个CPU配置进程使用的最大工作线程数.此属性的范围来自5 through 100.默认值20.

我不知道数字如何适合这里:

第一段说明每个核心最多有100个线程(图像证明了它,我有8个核心).

但第二段指出每个核心的默认最大工作线程数为20.因此,如果我有8个核心,那么我必须有8*20 = 160个最大线程. 不是 800.

有人可以光明吗?

更新:

我刚刚找到了一种通过c#代码获取关键元素值的方法:

在此输入图像描述

所以现在数字适合,但仍然 - MSDN说默认值是20,而不是100

在此输入图像描述

然后他们确实提到了100:

在此输入图像描述

是怎么回事?

c# asp.net .net-4.0 threadpool

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