标签: void

将LINQ序列中的项发送到返回void的方法

通常在我处理LINQ序列时,我想将每个项目发送到返回void的方法,避免使用foreach循环.但是,我还没有找到一种优雅的方法来做到这一点.今天,我写了以下代码:

    private StreamWriter _sw;
    private void streamToFile(List<ErrorEntry> errors)
    {
        if (_sw == null)
        {
            _sw = new StreamWriter(Path.Combine
                                    (Path.GetDirectoryName(_targetDatabasePath), "errors.txt"));
        }

        Func<ErrorEntry, bool> writeSelector = 
            (e) => { _sw.WriteLine(getTabDelimititedLine(e)); return true; };

        errors.Select(writeSelector);

        _sw.Flush();
    }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我编写了一个只返回true的lambda函数,我意识到Select方法将返回一个布尔序列 - 我将忽略该序列.然而,这看起来有点讽刺和下沉.有没有优雅的方法来做到这一点?或者我只是误用了LINQ?

谢谢.

.net c# linq void

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

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

在没有参数的函数中使用void?

在C++中使用void没有参数的函数,例如:

class WinMessage
{
public:
    BOOL Translate(void);
};
Run Code Online (Sandbox Code Playgroud)

是多余的,你不妨写一下 Translate();.

我,我自己通常都包括它,因为它在支持IDE显示的代码完成时有点帮助void,因为它确保了该函数绝对没有参数.

我的问题是,添加无void参数函数是一个好习惯吗?现代代码应该鼓励它吗?

c++ methods function void

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

public static void main()访问非静态变量

它表示非静态变量不能用于静态方法.但是public static void main.如何?

java variables static-methods program-entry-point void

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

Java,以递归方式反转数组

我没有找到任何具有我的功能的具体需求来做这件事,是的,这是为了做作业.

所以我有:

public void reverseArray(int[] x) {

}
Run Code Online (Sandbox Code Playgroud)

前提条件:x.length> 0

事实上,我不能让函数返回任何东西,唯一的参数是数组让我感到难过.

我已尝试使用循环和递归,但我尝试过的所有内容似乎最终都会产生无限的函数实例.

我已经有了一个想法/建议使用另一个功能以及这一个,但是,如何递归使用原始目标超出了我的目前.

任何帮助表示赞赏.

java arrays reverse void

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

int main()和void main()如何工作

我是C语言的初学者.任何人都可以使用示例详细解释main(),int main(),void main(),main(void),void main(void),int main(void)如何在C语言中工作?正如在我们使用void main()时所发生的事情以及当我在简单语言中使用int main()时发生的事情等等.
我知道,但无法理解它在做什么:

  1. main() - 函数没有参数
  2. int main() - 函数返回int值
  3. void main() - 函数返回任何内容等.

当我使用int main()返回0编写简单的hello world时,它仍然给出与使用void main()时相同的输出,那么它是如何工作的?它的应用是什么?

c void

13
推荐指数
2
解决办法
9万
查看次数

是一种类型的无效?

我不能完全回答"我们为什么要打电话"" 无效 "是' 返回类型 '?"

我如何证明" 无效 "是一种类型?

java void

12
推荐指数
3
解决办法
8733
查看次数

如何避免"(void)a"演员造成副作用?

我有这个代码和GCC打印"什么!?".我怎样才能避免这种情况,因此虚空演员只有C的意思是"忽略孤独的'a;'"?

#include <iostream>

struct A {
  template<typename T>
  operator T() { 
    std::cout << "what!?";
  }
};

int main() {
  A a;
  (void)a;
}
Run Code Online (Sandbox Code Playgroud)

c++ gcc void

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

如果支持void类型,为什么我需要在F#中使用单位类型?

我读了这篇MSDN文章:

单位类型(F#)

...单位类型是指示缺少特定值的类型; 单元类型只有一个值,当没有其他值存在或需要时,它充当占位符...单元类型类似于C#和C++等语言中的void类型...

所以...好吧,我明白,单位类型是这样一种类型,它只有一个值().但我有一些问题:

  1. 为什么需要?
  2. 什么时候需要?

我不明白为什么不在F#中使用void类型,比如C#和C++使用.

如果我看下表:

原始类型(F#)

Type   .NET Type    Description  
void   Void         Indicates no type or value.
Run Code Online (Sandbox Code Playgroud)

我看到F#确实有一个void类型.所以我不明白为什么需要单位类型; 看起来它与void非常相似.

我想它与功能语言范式有关,这就是为什么需要它,所以请...向我解释一下这个问题.

lambda f# functional-programming void unit-type

12
推荐指数
3
解决办法
1168
查看次数

将指针转换为void

以下两种铸件有什么区别吗?

int a=10;
int *p=&a;

(void)p;          //does not give any warning or error 
Run Code Online (Sandbox Code Playgroud)

要么

(void *)p;        //error: statement with no effect [-Werror=unused-value]
Run Code Online (Sandbox Code Playgroud)

什么时候遵守 gcc -Wall -Werror --std=c99 -pedantic

刚看到这个答案. (显然我误解了一些事情)

c pointers void

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