第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 C# 中將用戶 Steam ID 從控制臺(tái)轉(zhuǎn)換為 64 位版本

在 C# 中將用戶 Steam ID 從控制臺(tái)轉(zhuǎn)換為 64 位版本

C#
慕標(biāo)琳琳 2022-10-15 14:05:49
我正在創(chuàng)建一個(gè)應(yīng)用程序,有人可以在其中將用戶的 Steam ID 粘貼到搜索框中。在大多數(shù)情況下,它將是來自游戲內(nèi)控制臺(tái)的 Steam ID,如下所示:STEAM_1:0:12345678。我需要將其轉(zhuǎn)換為 64 位版本,以便為該用戶向 Steam API 發(fā)出請(qǐng)求。這里有很多有用的信息: https ://developer.valvesoftware.com/wiki/SteamID但我仍然無法弄清楚如何轉(zhuǎn)換為 64 位。
查看完整描述

2 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是你的幸運(yùn)日;我為你寫了整件事。通常,我們希望首先在您自己的實(shí)現(xiàn)中看到一些努力,即使它很粗糙,我們也會(huì)幫助您解決該代碼的問題。


public static Int64 TranslateSteamID(string steamID)

{

    Int64 result = 0;


    var template = new Regex(@"STEAM_(\d):([0-1]):(\d+)");

    var matches = template.Matches(steamID);

    if (matches.Count <= 0) return 0;

    var parts = matches[0].Groups;

    if (parts.Count != 4) return 0;


    Int64 x = Int64.Parse(parts[1].Value) << 24;

    Int64 y = Int64.Parse(parts[2].Value);

    Int64 z = Int64.Parse(parts[3].Value) << 1;


    result =  ((1 + (1 << 20) + x) << 32) | (y + z);        

    return result;

}

它至少適用于鏈接頁面上的示例值。你可以在這里試試:


https://dotnetfiddle.net/Ejrqcw


查看完整回答
反對(duì) 回復(fù) 2022-10-15
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

經(jīng)過進(jìn)一步研究并嘗試遵循確切的Steam Id 文檔,這是我想出的解決方案:

STEAM_X:Y:Z

文檔中的公式:W=Z*2+V+Y

以 STEAM_1:1:66138017 為例:


var steamId = "STEAM_1:1:66138017";

var match = Regex.Match(steamId, @"^STEAM_[0-5]:[01]:\d+$", RegexOptions.IgnoreCase);


if (!match.Success)

{

    return null;

}


// Split it into 3 parts using ":"

var split = steamId.Split(":");


var v = 76561197960265728;

var y = long.Parse(split[1]);

var z = long.Parse(split[2]);


var w = (z * 2) + v + y;


return w;

V 來自哪里的解釋:


在文檔中有一個(gè)表格列出了所有 Steam 帳戶類型。最常見的帳戶類型是個(gè)人。該表顯示此的十六進(jìn)制為 0x0110000100000000。使用十六進(jìn)制到十進(jìn)制轉(zhuǎn)換器,我最終得到 76561197960265728。


查看完整回答
反對(duì) 回復(fù) 2022-10-15
  • 2 回答
  • 0 關(guān)注
  • 380 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)