小编NoO*_*One的帖子

PHP中有一个简单,快速的数组吗?

我需要一个在PHP中使用最少内存的简单数组.我想要一个已分配的内存块的确切C++等价物,你可以只使用索引进行迭代.我发现PHP中的数组使用的内存比让我们说的更多:size*type_size(我想存储键值等).有没有更简单和简单的东西?

编辑:

谢谢你们.

是的,我在发布问题后立即想到了字符串的想法.我需要一个布尔数组,所以这似乎工作.获取/设置它的角色只是慢一点.

Judy阵列看起来也很有趣,但我还没有尝试过.

我已经尝试过SplFixedArray,但似乎它使用了与普通数组相同的内存量(除非我在路上错过了).

php arrays

9
推荐指数
2
解决办法
4488
查看次数

WPF DataGrid - 创建新的自定义列

我正在尝试创建自己的复选框列(替换默认列),以便稍后移动到更复杂的数据列,并且我有以下代码:

public class MyCheckBoxColumn : DataGridBoundColumn
{
    protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem)
    {
        var cb = new CheckBox();
        var bb = this.Binding as Binding;
        var b = new Binding { Path = bb.Path, Source = cell.DataContext };
        cb.SetBinding(ToggleButton.IsCheckedProperty, b);
        return cb;
    }

    protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
    {
        var cb = new CheckBox();
        var bb = this.Binding as Binding;
        var b = new Binding { Path = bb.Path, Source = ToggleButton.IsCheckedProperty };
        cb.SetBinding(ToggleButton.IsCheckedProperty, b);
        return cb; …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf datagrid

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

为什么下载的并发数量有限制?

我正在尝试制作自己的简单网络爬虫.我想从URL下载具有特定扩展名的文件.我写了以下代码:

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        if (bw.IsBusy) return;
        bw.DoWork += new DoWorkEventHandler(bw_DoWork);
        bw.RunWorkerAsync(new string[] { URL.Text, SavePath.Text, Filter.Text });
    }
    //--------------------------------------------------------------------------------------------
    void bw_DoWork(object sender, DoWorkEventArgs e)
    {
        try
        {
            ThreadPool.SetMaxThreads(4, 4);
            string[] strs = e.Argument as string[];
            Regex reg = new Regex("<a(\\s*[^>]*?){0,1}\\s*href\\s*\\=\\s*\\\"([^>]*?)\\\"\\s*[^>]*>(.*?)</a>", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
            int i = 0;
            string domainS = strs[0];
            string Extensions = strs[2];
            string OutDir = strs[1];
            var domain = new Uri(domainS);
            string[] Filters = Extensions.Split(new char[] { ';', ',', ' …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing download

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

本应兼容的不兼容 .NET Standard 程序集?

我有一个 .NET Standard 2.0 DLL 项目。

项目目标框架

它没有其他参考,除了NETStandard.Library 2.0.1一切都很好。

它被 WPF 应用程序引用,一切似乎都正常。

将 nuget 包添加System.Collections.Immutable 1.5.0到 DLL 项目后,Dependencies解决方案资源管理器的根目录上会出现一个黄色感叹号。(嗯......我现在看到即使在我删除这个包后感叹号仍然存在,但我想这是一个 VS 错误,因为在添加这个库之前一切似乎都很好)

不解释的感叹...

拥有这两个包,一切都很好,但是当我尝试使用 时ImmutableDictionary,我得到了这个:

System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。该系统找不到指定的文件。'

查看 nuget 包,我明白这两个应该一起工作,因为(根据我的理解)'System.Collections.Immutable` 库说它支持 .NET 标准 2.0。

包裹

我对 .NET Standard 世界很陌生。

查看System.Collections.Immutable.dll我的主应用程序bin文件夹中的公钥令牌,我发现它确实b03f5f7f11d50a3a如预期的那样。不过版本不一样。

嗯...

通常,在旧的 .NET 中,我会尝试在应用程序的配置文件中添加程序集重定向。但在这里这样做似乎没有任何区别。将此添加到我引用 DLL 的 WPF 应用程序中:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.11.0" newVersion="4.0.11.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
Run Code Online (Sandbox Code Playgroud)

...将异常更改为:

System.IO.FileNotFoundException: '无法加载文件或程序集 …

.net c# .net-assembly assembly-binding-redirect .net-standard-2.0

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

什么是Visual Studio的Font Cache文件夹?

我今天开始玩一个名为WinDirStat的应用程序,我注意到这个文件夹:

C:\Users\<Username>\AppData\Local\Microsoft\Visual Studio\Font Cache\
Run Code Online (Sandbox Code Playgroud)

...我的计算机上最多需要10GB,包含字体文件.有没有人知道这个文件夹是什么,以及删除它是否安全?

10GB太多了,文件夹名称中包含"缓存"让我想删除它.​​..

wpf fonts visual-studio-2013

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

MicrosoftGraph API无法将消息标记为已读

我正在使用Microsoft.Graphnuget软件包(版本1.6.2),并且尝试将电子邮件标记为已读。这是代码:

        msg.IsRead = true;
        await MainPage.GraphServiceClient.Me.Messages[msg.Id].Request().Select("IsRead").UpdateAsync(msg);
Run Code Online (Sandbox Code Playgroud)

据我了解,以上代码仅应将该IsRead属性发送到服务器以进行更新。但是,执行此操作后,将发送整个消息对象(我已经使用Fiddler进行了验证),您将收到以下响应:

{
  "error": {
    "code": "ErrorInvalidPropertyUpdateSentMessage",
    "message": "Update operation is invalid for property of a sent message.",
    "innerError": {
      "request-id": "<A guid here that I wont share>",
      "date": "2017-07-29T21:10:18"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

代码正确吗,这是一个错误,我是否缺少某些内容或内容?有没有解决的办法?

.net email outlook microsoft-graph

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