小编Sch*_*999的帖子

如何检查IEnumerable是空还是空?

我爱string.IsNullOrEmpty方法.我很想拥有能够为IEnumerable提供相同功能的东西.有这样的吗?也许一些收集助手班?我问的原因是,在if语句中,如果模式是代码,代码看起来很混乱(mylist != null && mylist.Any()).拥有它会更加清洁Foo.IsAny(myList).

这篇文章没有给出答案:IEnumerable是空的?.

.net c# linq collections ienumerable

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

DataContract XML序列化和XML属性

是否可以将此XML反序列化为标记为DataContract属性的对象?

<root>
<distance units="m">1000</distance>
</root>
Run Code Online (Sandbox Code Playgroud)

您可能会看到有"单位"属性.我不相信这是支持的.还是我错了?

c# xml wcf serialization datacontract

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

如何在取消一次"允许推送通知"对话框后返回?

我正在构建一个严重依赖APN的应用程序.在我的应用程序第一次启动时,iOS会询问是否允许此应用程序使用APN(作为registerForRemoteNotificationTypes:调用的结果).然而,一旦被解雇,这个对话框永远不会弹出.我必须手动去Settings->Notifications->MyApp启用/禁用那里的东西.那么有没有办法避免这种喧嚣,并实际体验用户每次在调试模式下启动应用程序时的第一次启动体验?

iphone objective-c push-notification apple-push-notifications ios

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

在优化过程中Java内联方法会不会?

我想知道JVM/javac是否足够聪明

// This line...
string a = foo();

string foo()
{
  return bar();
}

string bar()
{
  return some-complicated-string computation;
}
Run Code Online (Sandbox Code Playgroud)

string a = bar();
Run Code Online (Sandbox Code Playgroud)

或者在发布案例中删除对foo()的不必要调用(因为无法访问的代码):

string a = foo(bar());

// bar is the same
...

string foo(string b)
{
  if (debug) do-something-with(b);
}
Run Code Online (Sandbox Code Playgroud)

对于第一个例子我的感觉是肯定的,对于第二个例子我的感觉是"不太确定",但是有人可以给我一些指示/链接来确认吗?

java optimization jvm javac

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

ConcurrentDictionary枚举和锁定

如果我有一个ConcurrentDictionary,我是否需要在使用它循环时锁定它foreach

.net c# concurrency

24
推荐指数
1
解决办法
6815
查看次数

PyCharm抱怨patch.object但为什么?

非常基本的设置:

import mock
from mock import patch

def test_foo():
  with patch.object(MyObject...):
    # do some stuff here...
Run Code Online (Sandbox Code Playgroud)

PyCharm警告: Cannot find reference 'object' in 'function'.

如果要弹出mock.py,patch.object则定义为:

patch.object = _patch_object
Run Code Online (Sandbox Code Playgroud)

那么如何让警告消失呢?

python pycharm python-mock

16
推荐指数
1
解决办法
1499
查看次数

解析使用'Flags'归因的.NET枚举字符串或int值的方法

使用以下方法可以很好地计算枚举元素:

// memberType is enum type
if (Enum.IsDefined(memberType, valueString))
{
    return Enum.Parse(memberType, valueString);
}
else
{
    try 
    {
        var underlyingValue = Convert.ChangeType(valueString, Enum.GetUnderlyingType(memberType));
        if (Enum.IsDefined(memberType, underlyingValue))
        {
            return underlyingValue;
        }
    }
    catch...
}
Run Code Online (Sandbox Code Playgroud)

这就像魅力一样.除了使用标记的枚举构建的值FlagsAttribute.例如,对于此枚举和值:

[Flags]
enum MyEnum {
    One = 0x1,
    Two = One << 1,
    Four = One << 2,
    Eight = One << 3
}

var e = MyEnum.One | MyEnum.Eight;
Run Code Online (Sandbox Code Playgroud)

上面的方法不起作用.看起来让它工作的唯一方法是尝试获取所有枚举值,并使用输入值按位和它们.但这有点单调乏味.所以你知道更好的方法吗?

回答:

最终方法如下所示:

var parsed = Enum.Parse(memberType, valueString);
decimal d;
if (!decimal.TryParse(parsed.ToString(), out d))
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# parsing enumeration

15
推荐指数
1
解决办法
3648
查看次数

为什么不在.NET中允许就地接口实现?

要么我缺少某些东西,要么.NET不支持Java的功能.我希望能够避免创建一个小类只是为了实现一个小接口.例如,LINQ的Except方法需要IEqualityComparer.所以我不得不写一个实现接口的小类.但是在Java中我可以简单地new IEqualityComparer() { //interface declarations }完成它并完成它.所以有什么问题?

这与这篇文章有些相关:

C#匿名类可以实现一个接口吗?.

附加:此刻,我为Equals和添加了覆盖GetHashCode.

.net c# anonymous interface in-place

13
推荐指数
1
解决办法
2575
查看次数

SQL Server:如何为整个存储过程设置默认隔离级别?

如果BEGIN我在SET TRANSACTION ISOLATION LEVEL ...声明之后,对于整个存储过程的范围,给定的事务级别是否有效,无论我是否使用BEGIN TRANSACTION?也就是说,如果我有简单的SELECT语句,按定义原子/事务处理,它们的默认事务级别是否会设置为给定的语句?

BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
 -- will a transaction level for a atomic transaction created by SQL Server for this statement be READ COMMITTED 
SELECT * FROM T
END
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

11
推荐指数
1
解决办法
9057
查看次数

Visual Studio中大解决方案中最受欢迎的项目

除非我道歉,如果有人问过 - 我找不到比赛.我有一个... 96个项目的解决方案.我一次工作3-4次.有没有办法过滤掉,标记为我最感兴趣的项目等?项目按字母顺序排序,因为我的一个项目从B开始,另一个项目从T开始,我总是不得不向下滚动并强调我的大脑,同时寻找所需的东西.有点令人失望.我认为我没有使用解决方案文件夹.这是要走的路吗?

.net c# solution visual-studio

9
推荐指数
3
解决办法
1070
查看次数