小编swc*_*aft的帖子

对象到字符串数组

我试图将一个对象(这里声明为'obj':object is array,primitive)转换为字符串数组.

对象可以是任何uint [],int16 []等.

我一直在尝试使用

string[] str = Array.ConvertAll<object, string>((object[])obj, Convert.ToString);
Run Code Online (Sandbox Code Playgroud)

当我尝试将未知类型对象转换为object []时,会出现问题.我一直在犯错误.

我做的一次尝试失败了,正在使用

object[] arr = (object[])obj;
Run Code Online (Sandbox Code Playgroud)

要么

IEnumerable<object> list = obj as IEnumerable<object>
object[] arr = (object[])list;
Run Code Online (Sandbox Code Playgroud)

我在转换时看到了有关值类型和引用类型问题的帖子.

是否有一个简单的代码可以处理对象[]的转换,无论对象的类型如何,只要它是一个数组?我试图避免手动处理每种可能的类型铸件.

提前致谢

c# c#-3.0 c#-4.0

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

错误C2733不允许重载函数'function'的第二个C链接

我试图在Visual Studio 2010专业版中编译旧的cpp MFC项目.

它使用使用Labview编译的dll,我正在添加此信息,因为我不知道导致错误消息的原因.

错误消息显示在多个功能上,所有相同的错误类型.

error C2733: second C linkage of overloaded function 'function name' not allowed.
Run Code Online (Sandbox Code Playgroud)

'function name'包括:'StrCatW','StrCmpNW','StrCmpW','StrCpyNW'和'StrCpyW'

我在网上发现了类似的案例.

虽然在我的情况下链接中的建议没有解决,我仍然看到相同的错误消息.

提前感谢任何想要帮助的人.

c c++ visual-studio-2010 visual-c++

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

NginX 卸载后仍在运行

我尝试使用以下命令从 Ubuntu 中卸载 NGinX:

 sudo apt-get remove nginx-core nginx-full nginx-light nginx-extras nginx-common    
Run Code Online (Sandbox Code Playgroud)

我也使用了下面的命令

 sudo apt-get remove --purge nginx*
Run Code Online (Sandbox Code Playgroud)

当我检查正在运行的 NginX 进程时,仍然会看到下面的屏幕。

怎么了??

NginX 卸载后仍在运行

nginx

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

安装了 docker,我得到了 podman

按照以下步骤在 Centos 上安装 docker(使用 VirtualBox 运行):

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

sudo yum install docker

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Run Code Online (Sandbox Code Playgroud)

我重新启动了虚拟机,当我输入“docker --version”时,我得到以下结果:

"Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.  podman version 1.0.5"
Run Code Online (Sandbox Code Playgroud)

谁能解释一下我的机器发生了什么?

docker centos8

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

System.Convert.ToDouble vs(double)

当我(double)value通过更改它来修复异常错误时,我感到很惊讶System.Convert.ToDouble(value).

值是对象类型.

谁能告诉我为什么?

在这里,我附上代码和错误消息:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    return (double)value * (double)parameter;
}

Error Message: System.InvalidCastException: Specified cast is not valid.
Run Code Online (Sandbox Code Playgroud)

c# casting type-conversion

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

Twitterizer版本适用于最近的Twitter API 1.1

对于使用Twitterizer作为组件与Twitter API进行通信的人,我有一个问题.

我看到最近从Twitter网站更新到API 1.1版

我有一个使用Twitterizer版本1构建的应用程序.

如果Twitterizer已更新其组件以与新的Twitter API 1.1兼容,请告知我们

我看到有两个来自Twitterizer,版本2.4.2和版本3的更新版本.

c# twitter twitterizer c#-4.0

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

服务结构本地群集设置错误

以下链接设置并运行本地群集.

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-create-your-first-application-in-visual-studio

目前,在运行应用程序时,它会错误地设置本地群集.

开发环境:
Windows 10,Visual Studio 2017试用版,适用于Windows的Docker(虽然未使用)

PowerShell脚本执行已启用,visual studio以管理员身份运行.

错误消息:PowerShell脚本无法执行.有关详细信息,请参见输出窗口

输出窗口:

1>------ Build started: Project: MyApplication, Configuration: Debug x64 ------
2>------ Deploy started: Project: MyApplication, Configuration: Debug x64 ------
2>Started executing script 'GetApplicationExistence'.
2>Finished executing script 'GetApplicationExistence'.
2>Time elapsed: 00:00:02.1304224
2>Started executing script 'Set-LocalClusterReady'.
2>powershell -NonInteractive -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Import-Module 'C:\Program Files\Microsoft SDKs\Service Fabric\Tools\Scripts\DefaultLocalClusterSetup.psm1'; Set-LocalClusterReady -createOneNodeCluster $true"
2>--------------------------------------------
2>Local Service Fabric Cluster is not setup...
2>Please wait while we setup the Local Service Fabric Cluster. This …
Run Code Online (Sandbox Code Playgroud)

visual-studio azure-service-fabric

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

.Net Framework 中的 HashCode 等效项

在将 .NET Core 项目转换为 .NET Framework 时,需要注意的一件事是使用哈希码现在需要转换为等效的内容。可以看出,Hashcode 特定于 .NET core 版本和一些扩展。

https://learn.microsoft.com/en-us/dotnet/api/system.hashcode?view=dotnet-plat-ext-3.1
Run Code Online (Sandbox Code Playgroud)

想知道如果有任何内置对象类型,那么 .NET Framework 中的用法是否足够接近。

.net-framework-version .net-core

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

TextReader.ReadToEnd vs Stream.CopyTo

我要求连接超过500MB的文本文件.

给我的遗留代码使用TextReader.ReadToEnd(),代码如下:

using (TextWriter textWriter = new StreamWriter(concatenatedFile, false, fEncoding))
{
    foreach (string filename in filesToConcatenate)
    {
        using (TextReader textReader = new StreamReader(filename, Encoding.Default))
        {
            textWriter.Write(textReader.ReadToEnd());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想更改上面的代码以使用Stream.CopyTo()与File.OpenRead.为了证明这种变化的合理性,我可以想到,当ReadToEnd()用于非常大的文件时,我会想到OutofMemoryException.

ReadToEnd()给我一个印象,它将读到最后,将整个文本块(在这种情况下,500MB ??)保存到内存中然后写入指定的流.

所以我的问题是:在非常大的文件串联中,Stream.CopyTo()的行为与ReadToEnd()的行为有何不同?每次Stream.CopyTo()复制到流中时,将决定文本大小的内容是什么?在大多数情况下,使用它而不是ReadToEnd()会阻止OutOfMemoryException吗?

这是我想要使用的代码:

using (Stream output = System.IO.File.OpenWrite(outputFile))
{
    foreach (string inputFile in inputFiles)
    {
        using (Stream input = System.IO.File.OpenRead(inputFile))
        {
            input.CopyTo(output);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

declaring a pointer in c# to point to unmanaged structure in c dll

I am stuck with one issue that I have not been able to solve for two days.

The error message looks as below:

Cannot take the address of, get the size of, or declare a pointer to a managed type ('Control_Vertilon.Imports.PHOTONIQ_CONFIG_TABLE')

Below is the code,

         UInt16[] Arguments = new UInt16[PHOTONIQ_ARG_BUFF_SZ];

         PHOTONIQ_CONFIG_TABLE PhotoniqConfigTable = new PHOTONIQ_CONFIG_TABLE();

        UInt16 *cfgPtr = (UInt16*)&PhotoniqConfigTable;       

        for(int i = 0; i < Imports.CONFIG_TABLE_SZ; i++){
            Arguments[i+1] =  *cfgPtr++; 
        }

        Imports.ControlInterface(Opcode, Arguments, 0x1, Imports.TimeoutMs, ref errInNoErrorStruct, ref NumRetArguments, ref …
Run Code Online (Sandbox Code Playgroud)

c#

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

从反射的字符串表示中获取枚举的值(字段)

我有一个枚举的字符串表示.

string val = "namespace_name.enum_name";
Run Code Online (Sandbox Code Playgroud)

我可以使用它来获取枚举类型.

Type myType = Type.GetType(val);
Run Code Online (Sandbox Code Playgroud)

现在我看到myType.Name = actual_enum_name和其他信息,很好.我试图使用此信息获取实际的枚举值,但没有成功.

我已经尝试过使用Enum.Getvalues,但是我在将myType,即System.Type转换为EnumType时遇到困难,这是Enum.Getvalues需要的(?).

我试图根据获得的信息实际创建一个Enum对象并被卡住.

如何从这里获得该枚举的实际字段(成员列表)?

c# c#-4.0

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

按字母顺序排序枚举后检索索引值

按字母顺序排序typeof(EnumType)的有效方法是什么?

枚举值具有非顺序索引,但按字母顺序排序.(即苹果= 5,香蕉= 2,哈密瓜= 3)

临时实例化很好.

最终我需要所选特定枚举值的索引代码.

我问,因为我提出的方法看起来并不是最好的:

Array tmp = Enum.GetValues(typeof(EnumType));
string[] myenum = tmp.OfType<object>().Select(o => o.ToString()).ToArray();
Array.Sort(myenum);
int enum_code = (int)Enum.Parse(typeof(EnumType), myenum.GetValue((int)selected_index).ToString());
string final_code = enum_code.ToString());
Run Code Online (Sandbox Code Playgroud)

c# linq

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