小编bsa*_*ara的帖子

ADB Shell输入事件

adb shell input keyevent和之间的基本区别是adb shell sendevent什么?我应该用哪一个来输入一个角色?我们传递给这两个命令的密钥代码是否相同?

android adb

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

WiX Bootstrapper:如何从命令行设置刻录变量?

使用WiX 3.7和.NET 4.0.

从命令行运行WiX引导程序EXE时,如何设置刻录变量?

command-line wix bootstrapper

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

C#Switch语句:更高效不使用默认值?

我在visual studio中创建了一个C#方法,它只包含一个switch语句,每个case返回一个值.根据个人习惯,我提出了类似于以下代码的内容:

private string SwitchMethod(int num)
    {
        switch (num)
        {
            case 0:
                return "result 1";
            case 1:
                return "result 2";
            case 2:
                return "result 3";
        }
        return "no result";
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是:哪个代码会有更好的性能?上面或下面的代码,或者是相同的?为什么?

我会假设因为编译器优化......它们可能只是相同......但我真的不知道.

private string SwitchMethod(int num)
    {
        switch (num)
        {
            case 0:
                return "result 1";
            case 1:
                return "result 2";
            case 2:
                return "result 3";
            default:
                return "no result";
        }
    }
Run Code Online (Sandbox Code Playgroud)

修订:看起来我应该更具体一点:编译时......一个或另一个会生成效率较低的代码吗?

我意识到性能上的差异可能微不足道......我真的很好奇.

c# performance switch-statement

9
推荐指数
1
解决办法
2538
查看次数

gson flat json到嵌套对象需要序列化器/解串器吗?

我有一些JSON进来(我没有任何控制或能力来改变JSON中的结构和/或命名...这个问题中要记住这一点很重要),它具有类似于此的"扁平"结构:

{
  "name": "...",
  "email": "...",
  "box_background_color": "...",
  "box_border_color": "...",
  "box_text_color": "...",
  ...
}
Run Code Online (Sandbox Code Playgroud)


现在,我可以创建一个简单的对象来保持一切平坦,如下所示:

public class Settings {

  @SerializedName("name")
  private String _name;

  @SerializedName("email")
  private String _emailAddress;

  @SerializedName("box_background_color")
  private String _boxBackgroundColor;

  @SerializedName("box_border_color")
  private String _boxBorderColor;

  @SerializedName("box_text_color")
  private String _boxTextColor;

  ...
}
Run Code Online (Sandbox Code Playgroud)


但是,我希望与box设置相关的所有内容都在它自己的类(BoxSettings)中.这更像我想要的:

public class Settings {

  @SerializedName("name")
  private String _name;

  @SerializedName("email")
  private String _emailAddress;

  private BoxSettings _boxSettings

  ...
}

public class BoxSettings {

  @SerializedName("box_background_color")
  private String _boxBackgroundColor;

  @SerializedName("box_border_color")
  private String _boxBorderColor;

  @SerializedName("box_text_color")
  private String _boxTextColor;

  ... …
Run Code Online (Sandbox Code Playgroud)

serialization json gson deserialization

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

WiX XmlConfig:用于在XmlConfig中嵌套XmlConfig

将元素嵌套到另一个元素中的目的和/或收益(除了增加创建/删除属性的可读性之外)是什么? 我所指的例子(我正在使用WiX 3.6):XmlConfigXmlConfig

<util:XmlConfig ...>
    <util:XmlConfig ... />
</util:XmlConfig>
Run Code Online (Sandbox Code Playgroud)

xml wix wix-extension wix3.6

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

使用Entity Framework进行Oracle查询的速度非常慢

这是我的设置:

  • 在.NET 4.0上编译(我不能高于此)
  • 对Oracle 11gR2数据库使用EntityFramework
  • 使用ODP.NET 11.2.0.3.20
  • 使用Visual Studio 2012 Ultimate和Oracle Developer Tools for Visual Studio 11.2.0.3.20
  • 使用LINQ to Entity执行查询

所以这就是我的问题:我使用Oracle Developer Tools for Visual Studio(11.2.0.3.20)创建了一些实体.一些实体很快就会返回结果.但是,对于查询包含超过2000万条记录的视图/表的其他人,对于这个简单的查询,一直需要10分钟才能返回结果(我已通过单元测试验证了这一次):

var member = (from m in context.Members
              where m.MemberID.Equals(memberId, StringComparison.OrdinalIgnoreCase)
              select m).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

我曾经使用Devart dotConnect for Oracle,它工作得很好......但是我的公司没有更新这个产品的许可证,并告诉我使用新的Oracle Developer Tools for Visual Studio来完成任务.

作为一种解决方法,我使用OracleCommandODP.NET(Oracle.DataAccess.dll)提供了与数据库的直接连接,我在不到一秒的时间内得到了结果.与使用管理客户端直接对数据库执行其他查询相同.

我最好的猜测,为什么发生这种情况将是,也许实体加载整个数据库到内存中,然后运行我的查询就可以了...这将是可怕的,但我真的不相信这是发生了什么.

有人可以解释为什么会发生这种情况以及我如何使用Entity修复它以便我不必手动重写所有数据库查询?


更新:
所以我找到了我的查询需要10分钟才能完成的原因.我(我对数据库的经验很少)把它放在我的EDMX文件中:

...
<EntityContainer Name="MyStoreContainer">
  <EntitySet Name="MY_TABLE" EntityType="MyDB.Store.MY_TABLE" store:Type="Views" store:Schema="MYUSERNAME" store:Name="MY_TABLE">
    <DefiningQuery>
      SELECT
      "MY_TABLE"."COL1" AS "COL1",
      "MY_TABLE"."COL2" AS "COL2",
      "MY_TABLE"."COL3" AS "COL3",
      "MY_TABLE"."COL4" …
Run Code Online (Sandbox Code Playgroud)

c# linq oracle entity-framework

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

导入整个命名空间与在C#中使用别名之间的性能?

导入整个命名空间与使用别名导入一个类之间是否存在性能差异?如果是这样,它有多大区别?


例子:

导入整个命名空间:

using System.Reflection;
Run Code Online (Sandbox Code Playgroud)

别名导入只有一个类:

using BindingFlags = System.Reflection.BindingFlags;
Run Code Online (Sandbox Code Playgroud)

c# performance alias namespaces using

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

用表达式编写自己的断言函数

我想创建Assert类似于下面的代码的自己的方法,但它不起作用.

// Method Usage
Argument.Assert(() => Measurements.Count > 0);

// Method Implementation
public static void Assert(Expression<bool> expression)
{
  bool value = expression.Compile();
  if(!value)
  {
    throw new InvalidOperationException("Assert: " + expression.ToString() + " may not be false!");
  }
}
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?错误是:'Error 1 Cannot convert lambda to an expression tree whose type argument 'bool' is not a delegate type'.

首先我有Expression<Func<bool>> expression,expression.Compile()()但这总是崩溃TargetInvocationException.

c# lambda expression

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

.NET 4.0 - Directory.GetFiles的结果是否始终保证按文件名排序?

我想知道,在.NET 4.0+中,Directory.GetFiles始终保证按文件名升序排序的结果?

请注意,我不是问如何对结果进行排序,我知道该怎么做(/sf/answers/440603341/),我只是想知道我是否需要手动对它们进行排序.

.net c# sorting io

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

使用TimePicker或NumberPicker查看对话框首选项时旋转Android设备会导致应用程序崩溃

我做了一个自定义DialogPreference,它使用两个NumberPicker小部件,允许用户选择一天中的一小时以及另一个DialogPreference允许用户使用TimePicker小部件选择时间的自定义.

只要对话框未打开并且我旋转屏幕,一切都按预期工作.但是,如果对话框打开并且屏幕旋转,则整个应用程序崩溃.我已经在onSaveInstanceStateonRestoreInstanceState方法中放置了断点,并且已经验证了恢复所需的所有内容都是DialogPreference有序的,onDialogClosed每次都会使用我自定义中的所有其他自定义代码来触发该方法DialogPreference.

我正在建设以下内容:

  • 最低SDK:16
  • 目标SDK:20
  • 编译SDK:20
  • 构建工具:20.0.0

我正在Verizon Galaxy Nexus上运行Android 4.4.3(KitKat).

这是给出的堆栈跟踪:

java.lang.IndexOutOfBoundsException: setSpan (4 ... 4) ends beyond length 0
  at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016)
  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592)
  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588)
  at android.text.Selection.setSelection(Selection.java:76)
  at android.widget.EditText.setSelection(EditText.java:87)
  at android.widget.NumberPicker$SetSelectionCommand.run(NumberPicker.java:2123)
  at android.os.Handler.handleCallback(Handler.java:733)
  at android.os.Handler.dispatchMessage(Handler.java:95)
  at android.os.Looper.loop(Looper.java:136)
  at android.app.ActivityThread.main(ActivityThread.java:5001)
  at java.lang.reflect.Method.invokeNative(Method.java)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
  at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud)

android timepicker android-preferences numberpicker android-timepicker

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