问题列表 - 第15053页

仅对lambda表达式的隐式类型推断?为什么?困惑!

我有以下示例代码(仅用于C#3.5学习目的!).

我正在调用接受IEnumerable和sort函数的Sort函数.如果我使用lambda表达式调用它(案例A),编译器可以派生返回类型TResult,但是当我传递func SortInt(案例B)时,编译器会抛出错误!

我无法理解为什么编译器在第二种情况下无法派生TResult!我似乎传递了完全相同的信息.或者这不准确?

请帮忙 !

int[] intArray = { 1, 3, 2, 5, 1 };

IEnumerable<int> intArray2 = Sort(intArray, x => SortInt(x)); // <= CASE A - OK !

IEnumerable<int> nextIntArray = Sort(intArray, SortInt); // <= CASE B - Compile Error: Cannot Infer Type !

public static IEnumerable<TResult> Sort<T, TResult>(IEnumerable<T> toBeSorted,    
                              Func<IEnumerable<T>, IEnumerable<TResult>> sortFunc)
{
    return sortFunc(toBeSorted);
}

public static IEnumerable<int> SortInt(IEnumerable<int> array)
{
    return array.OrderByDescending(x => x);
}
Run Code Online (Sandbox Code Playgroud)

.net c# lambda .net-3.5

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

是否可以重命名数据库中已有的MySQL表名?

是否可以重命名MySQL表?如果是这样,怎么样?

mysql sql

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

将vim插件组织到单独的目录中

是否可以将我的每个vim插件放在我的~/.vim目录中的单独目录中?

将所有东西拆开到同一个地方似乎有些混乱.

vim

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

C++对象以什么顺序作为参数传递给其他对象的构造函数超出范围?

当我用g ++编译下面的代码时,在构造类C的对象时,类A的对象似乎不会被破坏,并且当由类C的对象的构造函数访问时,B.ref_a引用不会被破坏:

#include <iostream>

struct A
{
    A(int aa)
    {
        a = aa;
    }

    ~A()
    {
        std::cout << "A out" << std::endl;
    }

    int a;
};

struct B
{
    B(const A& a)
    : ref_a(a)
    {
    }

    ~B()
    {
        std::cout << "B out" << std::endl;
    }

    const A& ref_a;
};

struct C
{
    C(const B& b)
    {
        c = b.ref_a.a + 1;
    }

    int c;
};

int main(void)
{
    C c(B(A(1)));
    std::cout << c.c << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

但是,它是否由C++语言保证?

c++ scope

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

输出在一条线上

以下代码按预期工作.但我不能格式化输出.它会打印出这样的东西:

mysql
test
someDB
Run Code Online (Sandbox Code Playgroud)

我希望输出在一行上

mysql test someDB
Run Code Online (Sandbox Code Playgroud)

我尝试在脚本中使用sed但它没有用.

#!/bin/sh
for dbName in `mysqlshow -uroot -pPassWord | awk '{print $2}'`
do
echo "$dbName" | egrep -v 'Databases|information_schema';
done
Run Code Online (Sandbox Code Playgroud)

unix awk sed

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

是否有可能从 javascript 获取锚点访问状态?

  1. 我正在使用jquery。我有一个锚列表。我正在枚举锚点,如果访问过,则设置显示:无;
  2. 我需要当点击锚点时,锚点将从javascript更改为已访问状态?

我能怎么做?

html javascript jquery

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

如何绘制3D球体?

我想在HTML 5.0画布中绘制3D球或球体.我想了解关于如何绘制3D球体的算法.谁能与我分享?

html5 html5-canvas

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

iPhone - 检查互联网连接是否可用

我使用以下代码来确定是否存在互联网连接.

struct sockaddr_in zeroAddress; 
bzero(&zeroAddress, sizeof(zeroAddress)); 
zeroAddress.sin_len = sizeof(zeroAddress); 
zeroAddress.sin_family = AF_INET;

// Recover reachability flags
SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr*)&zeroAddress); 
SCNetworkReachabilityFlags flags; 
BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); 
CFRelease(defaultRouteReachability); 
if (!didRetrieveFlags) { 
    NSLog(@"Error. Could not recover network reachability flags"); 
    return 0; 
} 
BOOL isReachable = flags & kSCNetworkFlagsReachable; 
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired; 
return (isReachable && !needsConnection) ? YES : NO; 
Run Code Online (Sandbox Code Playgroud)

当我的设备连接到wifi网络时,此方法返回预期结果.但是,如果我在3G或Edge网络上测试相同的方法,它会返回NO(即未连接到互联网)

有什么想法吗?

谢谢.

iphone

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

如何在C++中实现猴子补丁?

是否可以在C++中实现猴子补丁?或者任何其他类似的方法?

谢谢.

c++

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

C:在函数内声明的数组不能超过~8MB的内存.

我究竟做错了什么?在Mac(2GB RAM)上使用Eclipse时遇到了以下问题:

每当我尝试创建一个超过8384896字节的数组时,我就会出现分段错误.以下程序将执行:

#include <stdio.h>

main()
{
    double x[1048112];
    printf("sizeof(x) = %li", sizeof(x));
}
Run Code Online (Sandbox Code Playgroud)

输出将是(如预期的那样):

sizeof(x)= 8384896

但是增加x中的元素数量或在main()中创建其他变量会导致无法执行的程序和段错误.看起来我正在达到一些内存限制,我不明白为什么会发生这种情况.如果有人能向我解释这个问题,或者可能为我的问题提供某种解决方案,我将非常感激.

c memory memory-management

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

标签 统计

c++ ×2

.net ×1

.net-3.5 ×1

awk ×1

c ×1

c# ×1

html ×1

html5 ×1

html5-canvas ×1

iphone ×1

javascript ×1

jquery ×1

lambda ×1

memory ×1

memory-management ×1

mysql ×1

scope ×1

sed ×1

sql ×1

unix ×1

vim ×1