问题列表 - 第20741页

从经典ASP中的函数早期返回

有没有办法从经典ASP中的函数提前返回,而不是运行函数的全长?例如,假设我有这个功能......

Function MyFunc(str)
  if (str = "ReturnNow!") then
    Response.Write("What up!")       
  else
    Response.Write("Made it to the end")     
  end if
End Function
Run Code Online (Sandbox Code Playgroud)

我能这样写吗......

Function MyFunc(str)
  if (str = "ReturnNow!") then
    Response.Write("What up!")       
    return
  end if

  Response.Write("Made it to the end")     
End Function
Run Code Online (Sandbox Code Playgroud)

请注意返回语句,当然我在经典ASP中无法做到.有没有办法在返回语句所在的位置中断代码执行?

asp-classic

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

如何避免这种java泛型警告

采用以下方法,该方法仅按名称返回字段映射:

public static < T > HashMap< String, Field > getFields( Class< T > klass ) {
    HashMap< String, Field > fields = new HashMap< String, Field >();
    for ( Field f : klass.getFields() ) {
        fields.put( f.getName(), f );
    }
    return fields;
}
Run Code Online (Sandbox Code Playgroud)

如果删除方法签名中的泛型类型,则该方法的行为相同,只是您收到使用原始类型的警告.我遇到过其他类似的事情,尤其是反射,你不一定有输入类型.看起来反射自然会出现泛型问题,因为反射是为了让你在知道(或关心)类型时使用对象.

除了在所有内容上粘贴"@SuppressWarning"之外,是否有人对更优雅的处理反射方式有任何好的想法,而不会被泛型一直骂?

java generics

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

在 Android 上检索设备信息

我的程序针对的是 Android 1.5。我想检索有关设备本身的系统信息。通过搜索 API,我发现很少有有用的类。到目前为止我发现的最好的是Runtime类和一些Build.*系统属性。

我希望能够获得诸如设备上的内存总量、可用内存量(我不知道该类是否Runtime实际给我的信息,因为它具体指的是 JVM 可用的内存)等信息有关处理器的信息。

这些信息是否可用?如果有,我在哪里可以找到它?

java android

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

在Java数学中组合'N选择R'?

在java库中是否有内置方法可以为任何N,R计算'N choose R'?

java math combinatorics

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

Java + MySQL 完整性违规处理

我使用JDBC(mysql数据库)编写Java程序。当我违反 mysql 完整性(fe 我尝试插入相同的主键值)时,我会捕获SQL 异常。 我应该以它可能永远不会发生的方式编写它(首先是布尔函数检查主键值是否已经存在于数据库中,然后调用插入),还是可以仅通过异常处理它?例子 :

catch (SQLException ex) {ex.printStackTrace(); showSomeErrorDialog(); }
Run Code Online (Sandbox Code Playgroud)

java jdbc integrity

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

需要击败GC并且一旦超出范围就将对象销毁

我需要使用Mutex保护几段代码.问题是代码看起来像这样:

lock(mylockobject) {
  if(!foo())
    throw new MyException("foo failed");
  if(!bar())
    throw new MyException("bar failed");
}
Run Code Online (Sandbox Code Playgroud)

使用锁,它可以按照我的意愿工作,但现在我需要使用互斥锁.这里显而易见的问题是,如果我获取互斥锁并且foo()或bar()失败,我将不得不在抛出每个异常之前释放互斥锁.

在C++中,我将利用在堆栈上创建的对象的范围,并将互斥锁定在对象的构造函数中,然后在析构函数中释放它.使用.NET的垃圾收集,我认为这不会起作用.我写了一个测试应用程序,并确认如果我做这样的事情:

public class AutoMutex
{
  private Mutex _mutex;
  public AutoMutex(Mutex mutex)
  {
     _mutex = mutex;
     _mutex.WaitOne();
  }

  ~AutoMutex()
  {
    _mutex.ReleaseMutex();
  }
}
Run Code Online (Sandbox Code Playgroud)

然后有这样的代码:

// some code here...
Mutex my_mutex = new Mutex(false, "MyMutex");
{ // scoping like I would do in C++
  AutoMutex test = new AutoMutex(my_mutex);
  test = null;
}
Run Code Online (Sandbox Code Playgroud)

析构函数(终结器?)直到很久才被调用.

谷歌还没有指出我正确的方向,但我还在努力......请让我知道如何解决这个小问题,如果可能的话.

c# garbage-collection locking

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

我应该将DTO映射到客户端和服务器端的域实体吗?

我有一个丰富的域模型,其中大多数类都有一些行为和一些属性,可以计算或公开成员对象的属性(也就是说这些属性的值永远不会被持久化).

我的客户端只通过WCF与服务器通话.

因此,对于每个域实体,我有一个相应的DTO - 一个只包含数据的简单表示 - 以及一个mapper类,它实现DtoMapper<DTO,Entity>并可以通过静态网关将实体转换为DTO等效或反之亦然:

var employee = Map<Employee>.from_dto<EmployeeDto>();
Run Code Online (Sandbox Code Playgroud)

此应用程序的服务器端主要是持久性,我的DTO从WCF服务进入,反序列化,然后任意ORM将它们持久存储到数据库,或者来自WCF的查询请求和ORM执行该查询数据库并返回要由WCF序列化和发回的对象.

鉴于这种情况,将持久性存储映射到域实体是否有意义,或者我应该直接映射到DTO?

如果我使用域实体,那么流程就是

  1. 客户请求对象
  2. WCF将请求发送到服务器
  3. ORM查询数据库并返回域实体
  4. 域映射实体转换为DTO的域实体
  5. WCF序列化DTO并返回客户端
  6. 客户端反序列化DTO
  7. DTO通过映射器转换为域实体
  8. viewmodels创建

回程类似

如果我直接映射到DTO,我可以根据请求消除每个对象的一个​​映射.这样做我会失去什么?

唯一想到的是在插入/更新之前验证的另一个机会,因为我不能保证DTO在被发送之前经过验证或者甚至作为域实体存在,我想有机会验证select(如果另一个进程可能在数据库中放置了无效值).还有其他原因吗?这些原因是否足以保证额外的映射步骤?

编辑:

我之前确实说过"任意ORM",我确实希望事情尽可能与ORM和持久性无关,但是如果你有任何特殊的东西可以添加到NHibernate,那么一定要做.

.net mapping orm serialization dto

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

SQL Management Studio将无法识别脚本创建后存在的表

因此,如果我在SQL Management Studio的查询编辑器中创建一个新表,在数据库上点击刷新后,我可以看到并使用该表.但是,如果我想运行另一个查询,请在查询编辑器中引用该表,但不会重新生成该表.我已尝试在数据库级别和表级别进行刷新,但它没有任何区别.然而,如果我退出管理工作室然后重新打开它显示正常.

USE [DataBaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[States](
    [StateAbbreviation] [nchar](2) NOT NULL,
    [StateFullName] [nchar](30) NULL,
GO
Run Code Online (Sandbox Code Playgroud)

所以我运行它,然后运行它.

INSERT INTO States
SELECT *
FROM ExistingStatesTable
Run Code Online (Sandbox Code Playgroud)

这无法说国家不存在.国家也没有出现在知识分子中.我该怎么做

sql sql-server ssms

49
推荐指数
3
解决办法
4万
查看次数

为什么RandomAccessFile使用int作为偏移量

我正在编写一些数据访问测试实现,我需要随机访问文件内容.这是代码:

RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rwd");
final byte b[] = IOUtils.toByteArray(source);
randomAccessFile.write(b, (int) offset, size);
Run Code Online (Sandbox Code Playgroud)

其中offset的类型为long.为什么RandomAccessFile没有提供方法:

public void write(byte b[], long off, int len)
Run Code Online (Sandbox Code Playgroud)

如何覆盖此问题?

java int random-access long-integer

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

如何选择填充常量的多行?

在SQL语句中选择常量而不引用表是完全合法的:

SELECT 1, 2, 3
Run Code Online (Sandbox Code Playgroud)

后者返回的结果集是包含值的单行.我想知道是否有一种方法可以使用常量表达式一次选择多行,有点像:

SELECT ((1, 2, 3), (4, 5, 6), (7, 8, 9))
Run Code Online (Sandbox Code Playgroud)

我希望像上面这样的东西工作并返回一个包含3行和3列的结果集.

sql select constants

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