问题列表 - 第19130页

数组类型 - 指定/用作函数参数的规则

当我需要将一个数组传递给一个函数时,似乎所有以下函数声明都可以工作

void f(int arr[])  
void f(int arr[4]) // is this one correct?
Run Code Online (Sandbox Code Playgroud)

为了这:

int a[]={1,2,3,4};
f(a);
Run Code Online (Sandbox Code Playgroud)

但是当我将一个数组分配给另一个数组时,它就失败了

int a[]={1,2,3,4};
int b[4] = a; // error: array must be initialized with a brace-enclosed initializer
Run Code Online (Sandbox Code Playgroud)

那么为什么作为函数的参数传递的数组是可以的,但是在简单赋值的rhs上使用是错误的?

c arrays initialization variable-assignment

6
推荐指数
3
解决办法
3065
查看次数

C#到C#,方便的语言功能

我想了解C#的所有便利功能,以及它们如何映射到C#.

例如,自动属性:

public string Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)

...映射到这样的东西:

string <Foo>k__BackingField;

[CompilerGenerated]
public string Foo {
   get { return this.<Foo>k__BackingField; } 
   set { this.<Foo>k__BackingField = value; } 
}
Run Code Online (Sandbox Code Playgroud)

Foreach循环:

foreach(char c in "Hello") {
   Console.WriteLine(c);
}
Run Code Online (Sandbox Code Playgroud)

......映射到这样的东西(我想):

CharEnumerator en;

try {

   en = "Hello".GetEnumerator();

   while (en.MoveNext()) {
      char c = en.Current;

      Console.WriteLine(c);
   }

} finally {

   IDisposable disp = en as IDisposable;

   if (disp != null)
      disp.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

foreach在处理非托管资源时,处理枚举器非常有用,例如循环文件中的行或数据库中的记录.

我认为对这些高级功能的良好理解可以帮助我们编写更好的代码.C#的其他便利功能有哪些?它们如何映射到C#?

.net c#

11
推荐指数
5
解决办法
1231
查看次数

什么编程任务为monad提供了突破?

在最近一篇关于他写过的概率monad的博客文章中,Mark Dominus写道:"所以我觉得我终于到了,monadwise."

我的第一个monadic程序是使用parsecMaybe monadProject Euler中解决问题32的尴尬.

当灯光最终为你打开时你在做什么?至少提供您编写的代码草图.知道你现在知道什么,你会如何改进它?为什么?

monads haskell

10
推荐指数
1
解决办法
1129
查看次数

在Web浏览器中使用window.name作为本地数据缓存

我正在阅读有关cookie和其他相关客户端存储选项的内容,并阅读有关使用window.name作为排序的数据缓存:

http://en.wikipedia.org/wiki/HTTP_cookie#window.name

虽然它肯定会让事情变得不那么令人满意 - 而且我不会给它涂上糖衣,但它绝对是最真实意义上的黑客 - 看起来很有希望.我需要存储大约10K的JSON作为客户端缓存,现在我将其与页面一起发送,当我读到它时,它似乎真的符合我的需求并减少流量.

我很想知道是否有人实施了这一点,以及你可能给出的建议.陷阱?建议?浏览器之间的差异?某种用例会非常糟糕吗?

优点

  • 本地存储
  • 基本上每个支持javascript的浏览器都可用

缺点

  • 仅支持字符串
  • XSS问题
  • window.name中毒
  • 泄露给其他网站的信息

备择方案

javascript browser jquery json

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

在Visual Studio中编译为独立的可执行文件(.exe)

如何在Visual Studio中创建一个独立的exe.它只是一个简单的控制台应用程序,我认为用户不希望安装一个小的控制台应用程序.我使用visual studio命令提示符编译了一个简单的cpp文件.即使没有安装.NET框架,exe也会工作吗?我使用原生C++代码.

c# c++ executable console-application visual-studio

37
推荐指数
4
解决办法
27万
查看次数

伪造SQL Server

我有应用程序需要SQL Server 2000作为数据库存储.我真的不想使用SQL Server 2000,但我可以使用MySQL Server.

应用程序使用ODBC连接到SQL Server数据库.

我想知道是否有可能制作假的SQL Server,它将向/从MySQL服务器发送和接收数据

应用程序<---> odbc manager <--->假SQL Server驱动程序<---> mysql服务器

任何人如果可以这样做的话?

mysql sql odbc sql-server-2000

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

如何删除NSBezierPath

我有一个NSBezierPath我创建的,我打电话给它 - 中风.如何在不取消分配对象的情况下从视图中删除/删除它?

cocoa quartz-graphics quartz-2d

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

使用.net生成代码

.net框架中是否有任何类允许我生成可以保存为.cs或.vb文件的类?

.net c# vb.net code-generation

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

平台和api这个词到底是什么意思?

我买了一本书"学习java SE 6平台".我想知道平台这个词究竟意味着什么.原因不仅仅是我可以使用的一堆类.图书馆下Netbeans中的JDK 1.6节点.

什么是API?与平台不一样.但是没有库意味着同样的事情..一堆带有一些超类的类等等?

java api terminology semantics

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

asp.net中强类型的会话

如果这个问题已被提出,请原谅我.HttpContext.Current.Session["key"]返回一个对象,我们必须Type先将它强制转换为该对象才能使用它.我正在研究类型会话的各种实现

http://www.codeproject.com/KB/aspnet/typedsessionstate.aspx http://weblogs.asp.net/cstewart/archive/2008/01/09/strongly-typed-session-in-asp-net.aspx http://geekswithblogs.net/dlussier/archive/2007/12/24/117961.aspx

如果我们想要将一个新Type的对象添加到会话中,或者作为一个方法或一个单独的包装器,我觉得我们需要在SessionManager中添加一些代码(如果我错了,请更正).我以为我们可以使用泛型

public static class SessionManager<T> where T:class
 {
  public void SetSession(string key,object objToStore)
  {
   HttpContext.Current.Session[key] = objToStore;
  }

  public T GetSession(string key)
  {
   return HttpContext.Current.Session[key] as T;
  }

 }
Run Code Online (Sandbox Code Playgroud)
  • 使用是否有任何固有的优势

    SessionManager<ClassType>.GetSession("sessionString")

而不是使用

HttpContext.Current.Session["sessionString"] as ClassType
Run Code Online (Sandbox Code Playgroud)
  • 我也觉得有类似的东西会很好

SessionManager["sessionString"] = objToStoreInSession,但发现静态类不能有索引器.有没有其他方法来实现这一目标?

  • 我的想法是创建一个SessionObject,它将存储Type和对象,然后使用密钥将此对象添加到Session(使用SessionManager).检索时,将所有对象强制转换为SessionObject,获取类型(比方说t)和对象(比如说obj)并转换objt并返回它.

    public class SessionObject { public Type type {get;set;} public Object obj{get;set;}
    }

这不会起作用(因为返回签名将是相同的,但返回类型将是不同的).

是否有任何其他优雅的方式以更安全的方式在会话中保存/检索对象

asp.net session session-variables session-state

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