我有一串utf8.
我需要得到它的大小.(字节)
总是这样x2吗?//我的意思是乘以2
这有什么.net功能吗?
PS
我问这个问题是因为我的最新问题 ...我需要(在mempry映射文件中)来计算字符串(utf8)的偏移量 - 来自另一个进程..
我有一个文件输入: (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) 我已经 从Noseratio那里读到了这个问题,这个问题显示了一个在等待完成其操作之后TaskScheduler.Current不一样的行为.
答案指出:
如果没有执行任何实际任务,则与之
TaskScheduler.Current相同TaskScheduler.Default
这是真的.我已在这里看到它 :
TaskScheduler.Default
- 返回一个实例
ThreadPoolTaskSchedulerTaskScheduler.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发送的内容 …
我有这个问题:
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)

但我只需要最后一笔总和.我不需要报告中的内容 …
为什么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) 直到最近的版本,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)
题:
在之前的版本中,他们将它改为新版本还不够好?为什么他们检查阵列?
我已经看过这个链接,但没有帮助: 如何确定已安装的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.
我想调查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 …
我在这里读到:
在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# ×5
javascript ×3
.net ×2
.net-4.0 ×2
sql-server ×2
asp.net ×1
async-await ×1
blob ×1
c#-6.0 ×1
cross-domain ×1
facebook ×1
fileapi ×1
html5 ×1
jquery ×1
rollup ×1
string ×1
sum ×1
threadpool ×1