小编Cas*_*jne的帖子

如果DirectoryInfo.GetFiles().长度超过Int32.MaxValue怎么办?

关于文件夹中文件的最大数量的另一个问题,我注意到了

 DirectoryInfo.GetFiles().Length
Run Code Online (Sandbox Code Playgroud)

返回System.In32,但Int32的最大值是

 2.147.483.647  (Int32.MaxValue) 
Run Code Online (Sandbox Code Playgroud)

在NTFS(许多其他文件系统)上,最大文件数可以远远超过这个.

在NTFS上它是

 4.294.967.295 single files in one folder (probably an Uint32)
Run Code Online (Sandbox Code Playgroud)

这引出了一个有趣的问题:

当文件数超过Int32.MaxValue时,是否可以使用.NET框架获取NTFS上文件夹中的文件数量,以优雅和执行的方式?

注意:这不是原因.我知道,这些是很多文件;)

c# asp.net filesystems 64-bit

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

应该与蓝牙LE设备建立联系

对于使用Xamarin(Android API 21及更高版本)的蓝牙项目,我想知道与蓝牙设备建立绑定是否常见.目前的要求是:

  • 蓝牙设备经常使用,但不是连续使用.
  • 重新连接应尽可能快地进行
  • 当设备断电时,蓝牙地址会随机变化
  • 设备的名称是未知的,null或随机的
  • 连接已加密
  • 该连接使用覆盖API,该API需要蓝牙设备作为连接参数.

是否应该与此设备建立联系以"更好"识别(作为某种缓存)或"从头开始"重新连接到设备.这种情况有什么共同之处?因此,这不是"我可以保持联系"的问题,而是必须保持联系,甚至更好:什么是一个协作和工作,可靠的方案.

目前我使用这样的代码(result.Device.Name用于开发目的):

  public override void OnScanResult([GeneratedEnum] ScanCallbackType callbackType, ScanResult result)
    {

        if (result.Device.Name == "??" &&

            !_discovered &&
          result.ScanRecord != null &&
          result.ScanRecord.ServiceUuids != null &&
          result.ScanRecord.ServiceUuids.Any(x => x.Uuid.ToString().ToUpper() == uuid))
        {
            lock (_locker)
            {
                _discovered = true;
                _deviceList.Add(result.Device);
                BluetoothDiscoverySucces?.Invoke(result.Device);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

android bluetooth bluetooth-lowenergy xamarin

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

C#网络服务

我是网络服务的新手.我只是按照教程创建了一个Web服务.下一步是通过输入wsdl然后输入esdl contract路径来创建代理.它应该创建一个service1.cs文件但是我的系统创建的service.cs文件类似于教程之外的文件.

下一步是创建一个控制台测试器应用程序.我将service.cs文件添加到我的控制台项目但无法编译.我收到以下错误:

Error   1   
The type or namespace name 'Services' 
does not exist in the namespace 'System.Web' 
(are you missing an assembly reference?)    
C:\.....\tws\Service.cs 4   18  tws
Run Code Online (Sandbox Code Playgroud)

请帮忙.

c# web-services

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

在SQL中选择CASE与CASE

我不太明白为什么这两个不同的代码示例会返回不同的值.

以某种方式不正确但工作语法,返回错误结果,例如,0当比较在两个相等的值上完成时返回:

(SELECT CASE 
    WHEN 
       SUM(V.IsCompatible) OVER 
          (PARTITION BY ComputerName, UserID) = ApplicationCount 
    THEN 1 ELSE 0 END
) AS CompatibleUser
Run Code Online (Sandbox Code Playgroud)

下面的那个返回正确的值,即.1当比较两个相等的值时.

(CASE 
    WHEN 
       SUM(V.IsCompatible) OVER 
         (PARTITION BY ComputerName, UserID) = ApplicationCount 
    THEN 1 ELSE 0 END
) AS CompatibleUser
Run Code Online (Sandbox Code Playgroud)

甚至更简单:

(SELECT CASE 
    WHEN 
       X = Y 
    THEN 1 ELSE 0 END
) AS Result
Run Code Online (Sandbox Code Playgroud)

X = 22且Y = 22 =>结果= 0

(CASE 
    WHEN 
       X = Y 
    THEN 1 ELSE …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server sql-server-2008

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

根据最高日期从IGrouping中获取项目

IEnumerable<Appointment>包含约定定义为:

class Appointment
{
  public string Name { get; set; }
  public DateTime LastModified { get; set; }
  public bool IsCancelled { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在实践中可以像:

"Jon S" | 25-02-2011 16:14:40 | true
"Jon S" | 25-04-2011 22:15:44 | false
"Marc G" | 15-11-2011 16:09:00 | true
"Marc G" | 21-12-2011 16:11:00 | false
"Marc G" | 20-12-2011 16:24:00 | true
"Eric L" | 13-06-2011 19:10:00 | false
"Reed C" | 13-04-2011 09:10:00 | true
"Reed C" …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

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

HTML5画布:相同的代码在不同的浏览器中输出不同的结果

在我为性能和质量测量目的而创建的简单画布测试中,a canvas在无限期内绘制了随机颜色和图像.

此处显示了一个示例:http://litterific.com/minisite/

警告:只有在Opera或Chrome中打开它,脚本很重,可以挂在慢速计算机上,不要在你喝咖啡时让脚本保持运行;))它只是一个粗略的原型而没有优化它.

我在这里注意到,脚本(js/asset.js)绘制的结果在各种浏览器中是不同的.特别是在Opera 中,绘画中的"绿色"比Chrome中更多

替代文字

代码可以在这里找到:http://litterific.com/minisite/js/asset.js

我的问题是:

这是怎么造成的.不同的随机种子?Opera中不同的舍入或不同的颜色行为?

注意:两个浏览器中的脚本完全相同,所以也许您可以在Chrome和Opera中查看它.

javascript html5 opera google-chrome canvas

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

如何从两个表中选择字段

我需要选择这些字段-----

user_id,
sales_vertical,
partner_id,
category,
sub_category,
stage_id,
exp_revenue,
action,
action_date,
title_action,
date_action,
details from opportunity_history table
Run Code Online (Sandbox Code Playgroud)

tri_title,
tri_subtitle 
from res_partner table 
where res_partner.partner_id = opportunity_history.partner_id 
Run Code Online (Sandbox Code Playgroud)

在一个查询中.我们怎么能这样做?

谢谢阿迪尔

sql

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

一个using块,在构造函数中有一个对象初始化块

如果从using语句中调用构造函数,则会自动处理该对象,并使用try/catch块对其进行包装.这是构造函数中的对象初始化程序块.

但是在同一语句中初始化的成员类型会变成什么?例如:

  class TypeThatThrowsAnException 
  {
       public TypeThatThrowsAnException() 
       {
           throw new Exception();
       }
  }

  using (SomeDisposable ds = new SomeDisposable() {
       MemberThatThrowsAnException m = new TypeThatThrowsAnException()
  })
  {
       // inside using statement
       ds.doSomething();
  }
Run Code Online (Sandbox Code Playgroud)

以会发生什么MemberThatThrowsAnException时,它抛出时SomeDisposable被初始化,即,被执行的代码块中的例外呢?

如果我们将那些成员构造函数调用到块的范围之外,它会有什么不同using吗?

  class TypeThatThrowsAnException 
  {
       public TypeThatThrowsAnException() 
       {
           throw new Exception();
       }
  }

  class SomeClass 
  {
       public static TypeThatThrowsAnException StaticMember 
       {
          get
          {
               return new TypeThatThrowsAnException();
          }
       }
  } 

  using (SomeDisposable ds = new SomeDisposable() {
       MemberThatThrowsAnException = …
Run Code Online (Sandbox Code Playgroud)

c#

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

IIS上的Server.MapPath()路径错误

我正在尝试将图像上传到名为的文件夹 ~/Avatars/.

我的项目位于VS2010项目文件夹`C:/ Projects/MyProject中.

当我尝试获取Avatars文件夹的物理路径时

Server.MapPath("/Avatars")
Run Code Online (Sandbox Code Playgroud)

它总是回归

C:\inetpub\wwwroot\Avatars 
Run Code Online (Sandbox Code Playgroud)

代替

C:\Projects\MyProject\Avatars.
Run Code Online (Sandbox Code Playgroud)

当我在VS2010 开发服务器上运行项目时,它工作正常.

任何人都可以帮助我如何获得IIS中的实际路径

asp.net iis

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

使用Lazy <T>

与在MSDN上一样:

"使用实例Lazy<T>来推迟创建大型或资源密集型 对象或执行资源密集型任务,尤其是在程序生命周期内可能不会发生此类创建或执行时."

对于工厂模式,我可以使用a Lazy<T>来创建实例而不是使用Activator.CreateInstance.

通过返回一个

new Lazy<T>().value
Run Code Online (Sandbox Code Playgroud)

就像是:

return Lazy<IFactoryInstance>(() => new Car()).Value;
Run Code Online (Sandbox Code Playgroud)

这使我能够以每种类型/实例等不同的方式初始化对象实例.

从一种方法

但是,当我从MSDN阅读文本时,我有疑虑.类似代码的好习惯是什么?为什么不使用Lazy<T>

c#

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