Tag: C#的

如何在ASP.NET MVC中RedirectToAction而不会丢失请求数据

使用ASP.NET MVC有可能需要RedirectToAction情况(如表单提交)。 其中一种情况是,在表单提交后遇到validation错误,需要redirect到表单,但希望URL反映表单的URL,而不是它提交给的操作页面。 由于我要求表单包含最初的POST编辑数据,为了方便用户以及validation,我如何通过RedirectToAction()传递数据? 如果我使用viewData参数,我的POST参数将被更改为GET参数。

C编程中void指针的概念

在C编程语言中没有使用types转换的情况下是否可以解引用void指针? 另外,是否有任何方法来推广一个函数,它可以接收一个指针并将其存储在一个void指针中,并且通过使用void pointe,我们可以创build一个广义函数吗? 例如: void abc(void *a, int b) { if(b==1) printf("%d",*(int*)a); // If integer pointer is received else if(b==2) printf("%c",*(char*)a); // If character pointer is received else if(b==3) printf("%f",*(float*)a); // If float pointer is received } 我想使这个函数通用,而不使用if-else语句 – 这是可能的吗? 另外,如果有很好的互联网文章来解释一个空指针的概念,那么如果你能提供这个URL,这将是有益的。 此外,指针算术与空指针可能吗?

在C ++中,如果throw是一个expression式,它的types是什么?

我在一个简短的讨论中把它提到了reddit: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ 基本上,作者指出在C ++中: throw "error" 是一个expression。 在C ++标准中,这在主文本和语法中都是相当清楚的。 然而,至less对我来说不明确的是什么types的expression? 我猜“ void ”,但是用g ++ 4.4.0和Comeau做了一点实验,结果如下: void f() { } struct S {}; int main() { int x = 1; const char * p1 = x == 1 ? "foo" : throw S(); // 1 const char * p2 = x == 1 ? "foo" : […]

如何模拟C数组初始化“int arr = {e1,e2,e3,…}”行为与std :: array?

(注意:这个问题是关于不必指定元素的数量,仍然允许直接初始化嵌套types。) 这个问题讨论了C数组的用法,比如int arr[20]; 。 在他的回答中 ,@James Kanze展示了C数组的最后一个据点之一,它是独特的初始化特性: int arr[] = { 1, 3, 3, 7, 0, 4, 2, 0, 3, 1, 4, 1, 5, 9 }; 我们不必指定元素的数量,万岁! 现在用<iterator> ( 或你自己的变体 )的C ++ 11函数std::begin和std::end <iterator> ,你甚至不需要考虑它的大小。 现在,有没有(可能是TMP)的方式来实现相同的std::array ? 使用macros可以使它看起来更好。 🙂 ??? std_array = { "here", "be", "elements" }; 编辑 :从各种答案编译的中级版本,看起来像这样: #include <array> #include <utility> template<class T, […]

如何重用ostringstream?

我想清除和重用一个ostringstream(和底层的缓冲区),这样我的应用程序就不必做很多的分配。 如何将对象重置为初始状态?

在Linux中测量时间 – 时间vs时钟vs getrusage vs clock_gettime vs gettimeofday vs timespec_get?

在时间函数中, time getrusage , clock_gettime , gettimeofday和timespec_get ,我想要清楚地知道它们是如何实现的以及它们的返回值是什么,以便知道在哪种情况下我必须使用它们。 首先,我们需要对返回挂钟值的函数进行分类,并与返回进程或线程值的函数进行比较。 gettimeofday返回挂钟值, clock_gettime根据传递给它的Clock参数返回挂钟值或进程或线程值。 getrusage和clock返回过程值。 那么第二个问题就是关于这些function的实现以及它们的准确性。 这些function使用哪种硬件或软件机制。 似乎getrusage只使用内核tick(通常为1ms长),因此不能比ms更准确。 这样对吗? 那么getimeofday函数似乎使用了最精确的底层硬件。 因此,在最近的硬件上,其准确度通常是微秒(不能因为API而更多)。 关于clock ,手册页讲的是“逼近”,这是什么意思? 那么clock_gettime ,这个API在纳秒级,这是否意味着如果底层硬件允许的话它可以非常精确? 单调性呢? 还有其他的function吗?

exit()和abort()有什么区别?

在C和C ++中, exit()和abort()什么区别? 我想在发生错误(不是例外)后结束我的程序。

什么是std :: decay,什么时候应该使用?

std::decay存在的原因是什么? std::decay在什么情况下有用?

.NET应用程序中的最大线程数?

在C#应用程序中可以创build的最大线程数是多less? 当达到这个极限时会发生什么? 是抛出的某种exception?

为什么不能将一个匿名方法分配给var?

我有以下代码: Func<string, bool> comparer = delegate(string value) { return value != "0"; }; 但是,下面不编译: var comparer = delegate(string value) { return value != "0"; }; 为什么编译器不知道它是一个Func<string, bool> ? 它接受一个string参数,并返回一个布尔值。 相反,它给了我错误: 无法将匿名方法分配给隐式types的本地variables。 我有一个猜测,那就是如果var版本编译 ,它会缺乏一致性,如果我有以下几点: var comparer = delegate(string arg1, string arg2, string arg3, string arg4, string arg5) { return false; }; 以上是没有意义的,因为Func <>只允许最多4个参数(在.NET 3.5中,这是我使用的)。 也许有人可以澄清这个问题。 谢谢。