問題タブ [system.numerics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - System.Numerics.dllへの参照を追加する方法
System.NumericsのBigIntegerクラスを使用したいのですが、書きたい場合は
Numerics
見つかりません。Webを検索したところ、への参照を追加する必要があることがわかりましたSystem.Numerics.dll
が、どうすればよいですか?
.net - なぜ Matrix3x2 と Matrix4x4 だけなのですか?
System.Numerics 名前空間で Matrix3x2 および Matrix4x4 型が定義されているのに、2x2 または 3x3 行列が提供されないのはなぜですか? これらは、少なくとも同じくらい便利です。
.net - タイプまたはネームスペース名 'Vector' は名前空間 'System.Numerics' に存在しません
コードで使用しようとしSystem.Numerics.Vector<double>()
ましたが、ビルド エラーが発生しました
型または名前空間名 'Vector' が名前空間 'System.Numerics' に存在しません
アセンブリ参照がありませんか?
私のcsprojは.NET 4.6.1をターゲットにしています
他のタイプは正しく表示されます
.net - ベクトルはなぜ.Count static?
私はSystem.Numerics.Vector<T>
(ドキュメント)を使用しようとしています。
簡単な単体テストを書きました:
しかし、ビルドエラーが発生しました:
メンバー 'Vector.Count' は、インスタンス参照ではアクセスできません。代わりに型名で修飾してください
驚いたことに、Vector<T>.Count
静的です。
だから私は試しました:
コードはビルドされますが、単体テストは失敗します。
Assert.AreEqual が失敗しました。予想:<3>。実際:<2>。
どうしたの?
私が見つけた調査:
c# - System.Numerics.Vector の要素の合計.NET 4.6 で
System.Numerics.Vector タイプのベクトルで要素の合計を取得する方法がわかりません。
もしそれが実際に可能なら?これどうやってするの?
c# - Org.BouncyCastle.Math.BigInteger.ToByteArrayUnsigned に相当する .NET System.Numerics.BigInteger とは何ですか?
現在、BouncyCastle の .NET ポートをSystem.Guid
使用していますが、ネイティブの .NET を使用して大きな整数を に変換する際に問題が発生していますBigInteger
。
コンテキストによっては、1 つの (「ソース」) アプリケーションで BouncyCastle を使用して を に変換しSystem.Guid
ていOrg.BouncyCastle.Math.BigInteger
ます。この値は、形式で文字列として保存されます3A2B847A960F0E4A8D49BD62DDB6EB38
。
次に、別の(「宛先」)アプリケーションで、この保存された a の文字列値を取得し、BigInteger
それを に変換しようとしていSystem.Guid
ます。
宛先アプリケーションでは、BouncyCastle を参照として使用したくなく、変換にコア .NET ライブラリを使用したいと考えていることに注意してください。ただし、コア .NET クラスの変換で問題が発生しているため、BouncyCastle を使用しており、次のコードはまさに私が望むことを行います。
ご覧のとおり、これを機能させるToByteArrayUnsigned
メソッドが にありOrg.BouncyCastle.Math.BigInteger
ます。を使用するToByteArray
と(この質問で説明したように配列のサイズSystem.Numerics.BigInteger
を変更する場合でも)、機能せず、予想とは異なります。System.Guid
では、ネイティブ .NET クラスを使用して上記の操作と同等の操作を実行するには、どのような方法が最適でしょうか?
解決
@John-Tasler の提案のおかげで、これはエンディアンが原因であることが判明しました...くそエンディアン...あなたのエンディネスは終わりますか? :P
var parsed = System.Numerics.BigInteger.Parse( "3A2B847A960F0E4A8D49BD62DDB6EB38", NumberStyles.HexNumber ).ToByteArray();
Array.Resize( ref parsed, 16 );
var guid = new Guid( parsed.Reverse().ToArray() ); // Hoorrrrayyyy!
c# - MonoDevelop で BigInteger クラスを使用するには?
Linux Mint で MonoDevelop を使用しています。
私の問題は、参照「System.Numerics」が見つからないことです。それ以外の場合は、Windows を使用しているときに VisualStudio で簡単に見つけることができます。
特に大きな値には BigInteger を使用したいと思います。私が見つけた最も近いものは、このライブラリでした: https://biginteger.codeplex.com/ ; リンクできなかったので、実際にはうまくいきませんでした。
(これは私がここで見つけた唯一のもので、私の質問に似ていましたが、うまくいきませんでした: Mono missing System.Numerics.BigInteger.Parse(string,IFormatProvider)。数値を使用できるようにする他の提案20 桁以上は大歓迎です。)