小编Tho*_*ham的帖子

Lua与表的多重赋值

这段代码:

function foo()
    return 1, 2, 3
end

bar = {}

bar = {a, b, c = foo()}
Run Code Online (Sandbox Code Playgroud)

生产:

bar.a = nil
bar.b = nil
bar.c = 1
Run Code Online (Sandbox Code Playgroud)

怎么写这样才能得到:

bar.a = 1
bar.b = 2
bar.c = 3
Run Code Online (Sandbox Code Playgroud)

无需写这样的东西:

function foo()
    return 1, 2, 3
end

bar = {}
a, b, c = foo()

bar = {a = a, b = b, c = c}
Run Code Online (Sandbox Code Playgroud)

lua

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

尝试“抓狂”的更好选择?

在下面的代码中,除了“疯狂尝试”之外,还有更好的选择吗?我正在收集各种类似的系统信息,并且还有更多这些烦人的try catch结构,并且非常希望摆脱它们。

请注意,这实际上是有道理的。并非可以检索try块中的所有过程信息,而且不可用的内容还是可选的,而同时跳过不可用的内容也是不可接受的,因此为什么不只有一对try catch对。

如果只有那些try catch语句可以进入该Append()方法。

foreach (Process proc in Process.GetProcesses())
{
    try { Append(proc.Threads.Count); } catch { }
    try { Append(proc.Id); } catch { }
    try { Append(proc.ProcessName); } catch { }
    try { Append(proc.BasePriority); } catch { }
    try { Append(proc.StartTime); } catch { }

    Append(proc.HandleCount,
        proc.PrivateMemorySize64,
        proc.NonpagedSystemMemorySize64,
        proc.PagedMemorySize64,
        proc.PeakPagedMemorySize64,
        proc.PeakVirtualMemorySize64);
}
Run Code Online (Sandbox Code Playgroud)

c#

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

C#生成计算机特有的字符串

我需要生成在它们生成的所有机器上具有极高可能性的字符串,并且每次运行代码时都会有所不同.唯一的概率不一定是100%,这与安全无关,只有唯一性很重要(用例是播种大型非加密PRNG).

我目前的想法是SHA512散列网络适配器信息,包括适配器统计信息,计算机名称,进程ID,计算机运行时间(以滴答为单位)和UTC当前时间(以刻度表示),并将其转换为64个字符的基本64位Unicode字符串.

看起来声音,但有没有更好的,例如.net功能,如何做到这一点?

工作代码:

using System;
using System.Diagnostics;
using System.Net.NetworkInformation;
using System.Security.Cryptography;
using System.Text;

static class UniqueString
{
    private static SHA512 sha = SHA512.Create();

    public static string Gen()
    {
        NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
        StringBuilder uniqueString = new StringBuilder();

        foreach (NetworkInterface adapter in adapters)
        {
            IPInterfaceStatistics stats = adapter.GetIPStatistics();

            uniqueString.AppendFormat("{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} ",
                adapter.Description,
                adapter.Id,
                adapter.Name,
                adapter.Speed,
                adapter.GetPhysicalAddress(),
                adapter.NetworkInterfaceType,

                stats.BytesReceived,
                stats.BytesSent,
                stats.IncomingPacketsDiscarded,
                stats.IncomingPacketsWithErrors,
                stats.IncomingUnknownProtocolPackets,
                stats.NonUnicastPacketsReceived,
                stats.NonUnicastPacketsSent, …
Run Code Online (Sandbox Code Playgroud)

c# uniqueidentifier

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

标签 统计

c# ×2

lua ×1

uniqueidentifier ×1