问题列表 - 第33338页

应该在C#中清空"if"语句导致错误或警告?

让我从现实生活中的例子开始:

客户:Alex,刚刚在第138行的RemovalProcessor中发现了一些奇怪的事情:

if (Session.Handler.ExecutePrefetchTasks()==null); 
  Session.ExecuteDelayedQueries(); 
Run Code Online (Sandbox Code Playgroud)

那个'if'后面的半圆应该在那里吗?

我:哎呀......我会把它发给我们的家伙来检查,但最有可能的是,你是对的.

虽然案件很少见,但我承认几乎所有大项目都有类似的问题.

我知道C#中的分号(和语句块)使用规则不能改变(我个人更喜欢Python风格).但我认为用语句确切地识别这种情况是个好主意if,并将其归类为错误或警告.

很少有Q/AI考虑到:

  • 为什么在这种情况下应该生成警告或错误?

    因为这是开发人员的错误可能是99%的概率.

  • 为什么在这种情况下错误更可取?

    在许多情况下,开发人员会忽略警告.

    我明白这是他们自己的问题,并且有/ warnaserror(威胁警告为错误)切换,但由于这是一个非常高概率的错误,并且,如果它不是错误(真的?;)),它是相当的很容易解决这个问题,可能最好将此案例归类为错误.

    最后,在这种情况下的错误不会"限制"开发人员,因为这样的代码可以(并且可能必须)总是在没有if语句的情况下被重写.

  • 为什么警告在这种情况下更可取?

    这不会破坏兼容性; 我还怀疑一些代码生成器可能会依赖于当前行为生成代码.

所以我很高兴听到你对此的看法.

.net c# c#-3.0 c#-2.0 c#-4.0

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

是否可以在Android上创建可Parcelable的HashMap?

我试图将HashMap扩展为Parcelable并且我获得了编译的语法,但是,在运行时它会抛出异常并返回一个空指针,试图取消编组数据.

发送者必须转换为(Parcelable)来解决歧义,然而,接收者抱怨预期Parcelable但找到了HashMap.

有没有人成功过这个?我的语法错了吗?有更好的解决方案吗?

以下是代码:

  • HomeActivity.java - 发件人
  • ContentViewActivity.java - 接收器
  • ContentItemSimple.java - 顾名思义(包装String和Integer)
  • ContentItemCollection.java - 这是HashMap

HomeActivity.java

package com.mobibob.android.studyparceable;

import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.text.format.Time;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class HomeActivity extends Activity implements OnClickListener {
    private static final String TAG = "HomeActivity";
    private ContentItemSimple mContentItemSimple = null;
    private ContentItemContainer mContentItemContainer = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud)

android hashmap parcelable

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

用户创建的数据库结构:非关系数据库或关系数据库?

我想在我的数据库记录中有动态字段.

例如:我想为用户构建一个应用程序来创建自己的表单.

用户可以创建以下表单:

个人资料:

  • 全名
  • 工作
  • 电话
    • 工作
    • 移动
  • 兴趣
    • 兴趣1
    • 兴趣2
    • 兴趣3

工作:

  • 名字
  • 工作
    • 部门
      • 专业1
      • 专业2
    • 部门
      • 专业1
      • 专业2

国家:

  • 美国
    • 状态
      • 纽约
        • 城市
          • 纽约
      • 阿拉巴马
        • 城市
          • 酒吧
          • 巴兹

正如您所看到的,这是一个非常动态的结构:

  • 没有预定义的字段数
  • 没有预定义字段名称
  • 用户创建数据库的结构

所以我想知道,最好的数据库是什么:关系(mysql/postgresql)或者像mongodb/couchdb/cassandra这样的非关系数据库,甚至像xindice这样的xml数据库?

即使我为此选择非关系数据库,将安全关键信息存储在客户和计费信息中是否明智?

我听过有人说,如果您的信息需要唯一性,那么请使用关系数据库."我们不想冒两次向客户收费的风险".他们实际上意味着非关系型数据库存在哪些问题?您不能在非关系数据库中存储唯一数据吗?

我想到的另一件事:不会在非关系数据库中保存数据意味着我会有重复的条目吗?

考虑这个例子:

分类:

  • 办公室

    • 应用
      • TextMate的
        • 作者:Foobar
        • 价格:120
        • 作者:Foobar
        • 价格:120
  • 办公室

    • 应用
      • TextMate的
        • 作者:Foobar
        • 价格:120
      • 酒吧
        • 作者:Foobar
        • 价格:120

如您所见,存在相同条目的情况.非关系数据库如何处理这些?我很习惯关系数据库.

我总结了一下我的问题:

  • 用户创建的数据库结构的数据库类型是什么?
  • 用于存储安全关键信息的非实用数据库吗?
  • 非实际数据库如何处理重复?

mysql database postgresql couchdb mongodb

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

如何在XSLT中删除尾随零

我有一个节点元素为1.0123000.我正在使用XSLT进行转换.我需要输出为1.0123.任何人都知道如何在1.0版本的XSLT中做到这一点?

提前谢谢,

xslt

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

使用声明(派生类)

struct B1{
  int d;
  void fb(){};
};

struct B2 : B1{
  using B1::d;
  using B1::fb;

  int d;               // why this gives error?
  void fb(){}          // and this does not?
};

int main(){}
Run Code Online (Sandbox Code Playgroud)

是因为,B1::fb()被视为B1::fb(B1*) and B2::fb()对待B2::fb(B2*)?也就是说,隐含参数,有助于区分这些吗?

$ 13.3.1/4

对于由using声明引入到派生类中的非转换函数,该函数被认为是派生类的成员,用于定义隐式对象参数的类型.

c++ derived-class using-declaration

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

随机生成字符串中的字符

当用户点击按钮时,我需要在String java中生成随机字符.例如:如果我们采用cat示例,我需要在字符串中显示字符,如下所示:

CAT,ACT,TAC,TCA

提前致谢

阿斯旺

java permutation

3
推荐指数
1
解决办法
2864
查看次数

从cobertura的代码覆盖范围中排除特定方法?

我试图使用以下配置忽略检测中的所有toString()方法.这不是真的有效吗?这是使用cobertura作为maven插件.这是基于先前的答案从Cobertura的代码覆盖中排除方法.

<instrumentation>
    <ignores>
        <ignore>toString</ignore>
    </ignores>
</instrumentation>
Run Code Online (Sandbox Code Playgroud)

你觉得我做错了什么?我无法在cobertura文档中找到这样的例子.

java code-coverage cobertura

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

过滤Entity Framework查询中的"包含"表

这适用于.NET 3.5的Entity Framework:

我需要查询一个表并包含一对多关系的"多"表的集合.我试图过滤该集合作为查询的一部分 - 我对Entity Framework很新,而且我很难搞清楚它.

简化示例:作者拥有Books,而Book拥有IsFiction专栏.我想要一个过滤的作者列表,以及所有小说书籍.

没有过滤器,很容易:

var q = from a in db.Authors.Include("Books")
        where a.BirthYear > 1900
        select a;
Run Code Online (Sandbox Code Playgroud)

我可以在事后过滤,例如:

var fictionBooks = a.Books.Where(b => b.IsFiction);
Run Code Online (Sandbox Code Playgroud)

但问题是原始查询已经运行,并包含那些结果,这是不必要的数据库处理.

我可以单独查询,例如:

var q = from a in db.Authors where a.BirthYear > 1900 select a;
foreach (var a in q)
{
    var books = from b in db.Books 
                where ((b.Author.Id == a.Id) && (b.IsFiction))
                select b;
}
Run Code Online (Sandbox Code Playgroud)

但当然这是每个作者的一个电话,我也想避免.

我可以倒退,比如:

var allBooks = from b in db.Books.Include("Author")
               where b.IsFiction
               select b;
Run Code Online (Sandbox Code Playgroud)

但后来我回到原来的问题,除了现在在作者方而不是书方. …

.net c# linq entity-framework

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

Android - 带3个按钮的地图

我想第一次在Android中显示地图.现在I want to display 3 buttons on the map, and when I clicked on a particular button, that button's click event should be raised.地图应全屏显示,按钮位于下方.

我不知道我是怎么做到的?当我们想要使用MapView显示地图时,我们必须扩展MapActivity类.所以请提出一些想法,示例或参考站点.

编辑:

我使用以下布局显示地图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <com.google.android.maps.MapView 
        android:id="@+id/mapView01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:enabled="true"
        android:clickable="true"
        android:apiKey="my generated api key"
        />

    <Button 
        android:text="Button" 
        android:id="@+id/Button01" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
    </Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android android-layout android-button android-mapview

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

如何向asp.net中的dropfolder发送电子邮件?

我有两个问题:1)如何在C#中发送电子邮件,但最终是在一个drop文件夹中从那里发送而不是直接通过SMTP发送?

2)对于生产机器,我是否使用IIS来处理dropfolder,或者我应该为此购买第三方产品?

谢谢!

.net c# email iis

3
推荐指数
1
解决办法
1097
查看次数