小编jas*_*onh的帖子

将字符串列表转换为单个连接字符串的最快方法?

我有一些LINQ代码生成一个字符串列表,如下所示:

var data = from a in someOtherList
           orderby a
           select FunctionThatReturnsString(a);
Run Code Online (Sandbox Code Playgroud)

如何将该字符串列表转换为一个大的连接字符串?假设数据包含以下条目:

"Some "
"resulting "
"data here."
Run Code Online (Sandbox Code Playgroud)

我应该得到一个看起来像这样的字符串:

"Some resulting data here."
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我想到了这个:

StringBuilder sb = new StringBuilder();
data.ToList().ForEach(s => sb.Append(s));
string result = sb.ToString();
Run Code Online (Sandbox Code Playgroud)

但这似乎并不合适.如果它是正确的解决方案,我将如何将其转换为扩展方法?

c# string extension-methods linq-to-objects

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

当没有匹配时LINQ结果?

当没有匹配时,LINQ函数究竟返回了什么?以Where方法为例,例如:

var numbers = Enumerable.Range(1, 10);
var results = numbers.Where(n => n == 50);
Run Code Online (Sandbox Code Playgroud)

在这一点上会有什么结果?

c# linq where-clause

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

我应该显式还是隐式地实现接口成员?

这个问题埃里克利珀的回答让我疑惑:如何决定是否要实现接口的方法时,使用显式或隐式的执行?

c#

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

在紫色屏幕中更改RenderTarget结果?

我试图在运行时更改RenderTargets,因此我可以在运行时绘制一些元素,操纵它们,然后最终将纹理绘制到屏幕上.问题是,如果我在运行时更改RenderTarget,屏幕会变为紫色.这是我在Draw中得到的代码:

        RenderTarget2D tempTarget = new RenderTarget2D(GraphicsDevice, 128, 128, 1,
            GraphicsDevice.DisplayMode.Format, GraphicsDevice.PresentationParameters.MultiSampleType,
            GraphicsDevice.PresentationParameters.MultiSampleQuality, RenderTargetUsage.PreserveContents);

        GraphicsDevice.SetRenderTarget(0, tempTarget);
        GraphicsDevice.Clear(ClearOptions.Target, Color.SpringGreen, 0, 0);
        GraphicsDevice.SetRenderTarget(0, null);
Run Code Online (Sandbox Code Playgroud)

如果我在运行时创建RenderTarget似乎并不重要(我确实需要在运行时创建内存中的纹理并使用SpriteBatch绘制它们),这会导致完全紫色的屏幕.我该怎么做才能解决这个问题?

c# xna rendertarget

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

使用 PowerShell 枚举 Linux SMB 共享

我可以列出我自己电脑的共享,没有问题:

gwmi Win32_Share
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

gwmi Win32_Share -computer myserver
Run Code Online (Sandbox Code Playgroud)

myserver运行 BusyBox 的 HP MediaVault mv2120在哪里。我得到回复:Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)

有什么办法可以做到这一点吗?

powershell wmi smb

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

我工厂出了什么问题?

我有一些像这样的代码:

public abstract class Foo {
    public static Foo getFoo() {
        return new FooImpl();
    }

    abstract void DoFoo();

    private class FooImpl extends Foo {
        public FooImpl() { }

        @Override
        void DoFoo() { }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是Eclipse告诉我No enclosing instance of type Foo is accessible.所以我怎样才能让它工作?

我试图让它尽可能简单,看它是否会编译:

public abstract class Foo {
    public static Foo getFoo() {
        return new FooImpl();
    }

    private static class FooImpl extends Foo {
        public FooImpl() { }
    }
}
Run Code Online (Sandbox Code Playgroud)

我仍然得到同样的错误.我错过了什么?

固定!我改了行return new FooImpl();return …

java factory-pattern

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

访问尚未初始化的对象的成员?

我对C++编程不是很熟悉.我知道编程的基础知识(语法,指针等),我用它构建了一些基本程序,并在工作中完成了一些基本的调试.我对Box2D的这行代码感到困惑,特别是来自Cocos2D的Box2dTest项目:

// Define the ground body.
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0, 0); // bottom-left corner
Run Code Online (Sandbox Code Playgroud)

如果没有初始化,groundBodyDef怎么能做到这一点呢?我知道这不是Objective-C的事情,因为Box2D本身的C++示例就像这样.

c++ objective-c

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

为什么这个LINQ查询不起作用?

我试图帮助其他人并写下这个查询:

var foundTab = (from tab in tabControl1.TabPages
                where tab.Name == "tabName"
                select tab).First();
Run Code Online (Sandbox Code Playgroud)

他们报告说他们收到了这个错误:

找不到源类型System.Windows.Forms.TabControl.TabPageCollection'的查询模式的实现.'哪里'找不到.考虑明确指定范围变量'tab'的类型.

我查MSDN和TabPageCollection农具IList,ICollection,IEnumerable.那么,这里发生了什么?该错误意味着什么,是否有另一种方法来查询Tab Control的TabPages属性?

c# linq winforms

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

为什么is关键字需要非空表达式?

is关键字的MSDN文档说:

expression is not null
Run Code Online (Sandbox Code Playgroud)

为什么?如果调用了MethodThatReturnsNull()类型,则不应返回false,因为null肯定不是那种类型?

c# language-design keyword

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

阅读以重新进入Java开发?

大约六年左右我没有做过多少Java开发.我可能很快就需要将C#应用程序移植到Java,以使其在Windows和公司标准版Linux上运行(出于我无法讨论的原因).我想知道的是,从那时起,对于改进Java的最佳阅读材料是什么,所以我可以使端口尽可能平滑.

我目前正在运行.NET Framework 3.5并使用lambdas,扩展方法和LINQ.这是一个没有Web服务调用或数据库调用的客户端应用程序.我确实使用各种网络协议与其他机器通信,但我已经在研究组件来替换我们现在使用的组件(Dart Telnet,SharpSSH等)

从那时起,我一直在寻找Java语言和BCL的变化.我不记得泛型,foreach循环,拳击和拆箱是一个PITA.扩展方法,lambdas和LINQ是否有任何等价物?

c# java

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