タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。

19
あるフォームから別のフォームに値を送信する
2つのフォーム(c#)間で値を渡したい。どうすればいいですか? Form1とForm2の2つのフォームがあります。 Form1にはボタンが1つ含まれています。そのボタンをクリックすると、Form2が開き、Form1が非アクティブモード(つまり選択不可)になっているはずです。 Form2には、1つのテキストボックスと1つの送信ボタンが含まれています。Form2のテキストボックスにメッセージを入力して送信ボタンをクリックすると、Form2が閉じ、Form1が送信された値で強調表示されます。 どうすればいいですか?誰かが簡単な例でこれを行うのを手伝ってくれますか?

3
リストに一意のアイテムのみを追加する
リモートデバイスがネットワークを介してアナウンスするときに、リストに追加します。以前にデバイスが追加されていない場合にのみ、デバイスをリストに追加したいと思います。 アナウンスは非同期ソケットリスナーを介して行われるため、デバイスを追加するコードを複数のスレッドで実行できます。何が間違っているのかわかりませんが、何をしようとしても重複してしまいます。これが私が現在持っているものです..... lock (_remoteDevicesLock) { RemoteDevice rDevice = (from d in _remoteDevices where d.UUID.Trim().Equals(notifyMessage.UUID.Trim(), StringComparison.OrdinalIgnoreCase) select d).FirstOrDefault(); if (rDevice != null) { //Update Device..... } else { //Create A New Remote Device rDevice = new RemoteDevice(notifyMessage.UUID); _remoteDevices.Add(rDevice); } }
84 c#  .net  c#-4.0 

11
文字列が長すぎる場合、どうすれば文字列を「…」で切り捨てることができますか?
誰かが良い考えを持っていることを願っています。私はこのような文字列を持っています: abcdefg abcde abc 私が必要としているのは、指定された長さを超える場合に、次のように表示されるように調整することです。 abc .. abc .. abc これに使用できる簡単なC#コードはありますか?
84 c#  string 

3
GIT-.suoファイルを無視できません
C#で記述されたアプリケーションで、同僚とGitを使用して作業しようとしています。 .gitignoreファイルにエントリ「project1.suo」を追加しましたが、プロジェクトをコミットする必要があるたびに、Gitはファイル「project1.suo」もコミットするように指示しているようです。 次のように、.gitignoreにファイルを追加する多くの方法を試しました。 *.suo project1.suo c:\project\project1.suo この問題を修正することはできません。
84 c#  git 

9
c#-WPFアプリケーションにユーザー設定を保存するためのアプローチ?
WPFウィンドウ(デスクトップ)アプリケーションでユーザー設定を永続化するために、どのようなアプローチをお勧めしますか?ユーザーは実行時に設定を変更してからアプリケーションを閉じることができ、後でアプリケーションを起動すると、アプリケーションは現在の設定を使用するという考え方に注意してください。事実上、アプリケーションの設定が変更されていないように見えます。 Q1-データベースまたは他のアプローチ?私はとにかく使用するsqliteデータベースを持っているので、データベースでテーブルを使用することは他のアプローチと同じくらい良いでしょうか? Q2-データベースの場合:どのデータベーステーブルの設計ですか?1は、(例えば持っている可能性があることを別のデータ型の列で一つのテーブルstring、long、DateTimeなど)か、値をシリアライズとデシリアライズする必要があり、その上に値の文字列を使用してちょうどテーブル?最初の方が簡単だと思います。設定が少ない場合、オーバーヘッドはそれほど多くありませんか? Q3-これにアプリケーション設定を使用できますか?もしそうなら、ここで永続性を有効にするために必要な特別なタスクはありますか?また、この場合、アプリケーション設定デザイナでの「デフォルト」値の使用に関してはどうなりますか?デフォルトでは、アプリケーションの実行中に保存された設定が上書きされますか?(または、デフォルト値を使用する必要はありません)
84 c#  .net  wpf  settings 



7
ArrayListからコンマ区切りの文字列を作成するにはどうすればよいですか?
デバッグログに出力するためにコンマ区切りのリストとして吐き出したい処理スクリプトにIDのArrayListを保存しています。物事をループすることなくこれを簡単に取得できる方法はありますか? 編集:.net 2.0以降で利用可能なList(Of T)を指摘してくれたJoelに感謝します。それが利用可能であれば、それは物事をトン簡単にします。
84 c#  vb.net  parsing 

6
各ループのC#はList <T>をどのような順序で繰り返しますか?
C#のforeachループがSystem.Collections.Generic.List&lt;T&gt;オブジェクトをループする順序について疑問に思っていました。 同じトピックについて別の質問を見つけましたが、それが私の質問に満足のいく答えになるとは感じていません。 誰かが順序が定義されていないと述べています。しかし、他の誰かが述べているように、配列をトラバースする順序は固定されています(0から長さ-1まで)。8.8.4foreachステートメント 順序のある標準クラスにも同じことが当てはまるとも言われています(例List&lt;T&gt;)。それをバックアップするためのドキュメントが見つかりません。ですから、今はそのように機能するかもしれませんが、次の.NETバージョンでは異なる可能性があります(可能性は低いかもしれませんが)。 私もList(t).Enumerator運が悪かったのでドキュメントを見ました。 別の関連する質問は、Javaの場合、ドキュメントに具体的に記載されていると述べています。 List.iterator()このリストの要素に対して適切な順序でイテレータを返します。」 私はC#のドキュメントでそのようなものを探しています。 前もって感謝します。 編集:すべての回答をありがとうございました(私が非常に多くの返信を受け取ったのは驚くべきことです)。すべての回答から私が理解しているのは、List&lt;T&gt;常にインデックスの順序で繰り返されるということです。しかし、のJavaドキュメントListと同様に、これを示すドキュメントの明確な平和を望んでいます。

10
指定された中心点、半径、および次数を持つ円上の点を見つけます
このような計算をしてから10年になります...私は2Dでゲームをプログラミングし、プレーヤーを動かしています。プレーヤーを動かしながら、-360〜360の正または負の角度(度)を指定して、プレーヤーの位置から200ピクセル離れた円上の点を計算しようとしています。画面は1280x720で、0,0が中心点です。画面の。プレーヤーは、このデカルト座標系全体を移動します。私が見つけようとしているポイントは、画面外にある可能性があります。 記事「半径と角度で点を見つける」の数式を試しましたが、角度を-360から360としてCos(angle)またはSinに渡すと奇妙な結果が得られるため、「角度」が何であるかを理解していないと思います。 (角度)。 だから例えば私は持っています... デカルト平面上の1280x720 センターポイント(プレーヤーの位置): x =最小-640から最大640までの数値とします。 y =最小-360から最大360までの数値とします。 プレーヤーの周りの円の半径:rを常に= 200とします 角度:a = -360〜360の範囲の数値とします(負の数は下向き、正の数は上向きにするため、-10と350で同じ答えが得られます) 円にXを返す式は何ですか? 円にYを返す式は何ですか?
84 c#  geometry 

12
whileループを使用せずに最も内側の例外を見つけますか?
C#が例外をスローすると、内部例外が発生する可能性があります。私がやりたいのは、最も内側の例外、つまり、内側の例外がないリーフ例外を取得することです。これはwhileループで実行できます。 while (e.InnerException != null) { e = e.InnerException; } しかし、代わりにこれを行うために使用できるワンライナーがあるかどうか疑問に思いました。

3
IdentityServer4はUserServiceを登録し、asp.netコアのデータベースからユーザーを取得します
UserServiceasp.netコアでIdentityServer4にを登録する方法をあちこち検索しましたが、正しい方法を見つけることができないようです。 これは、ここにあるInMemoryUsersを登録するためのコードですが、サンプルで定義されている静的ユーザーではなく、MSSQLDBからユーザーにアクセスしたいと思います。 var builder = services.AddIdentityServer(options =&gt; { options.SigningCertificate = cert; }); builder.AddInMemoryClients(Clients.Get()); builder.AddInMemoryScopes(Scopes.Get()); builder.AddInMemoryUsers(Users.Get()); そこで、IdentityServer3用のこれを調べました。 var factory = new IdentityServerServiceFactory() .UseInMemoryClients(Clients.Get()) .UseInMemoryScopes(Scopes.Get()); var userService = new UserService(); factory.UserService = new Registration&lt;IUserService&gt;(resolver =&gt; userService); オンラインで読んだところ、DIシステムを使用してUserServiceを登録する必要があるようですが、IdentityServerにどのようにバインドするかがわかりません。 services.AddScoped&lt;IUserService, UserService&gt;(); だから私の質問は: UserServiceビルダー(IdentityServer4ユーザー)にバインドするにはどうすればよいですか?また、データベースを呼び出して、UserService(リポジトリを使用してdbに接続している)の既存のdbユーザーにアクセスして認証するにはどうすればよいですか? これを考慮に入れると、これはasp.netコアで機能する必要があります。 ありがとう!

8
C#の「=>」構文はどういう意味ですか?
このフォーラムのいくつかの質問でこの構文に出くわしましたが、Googleや他の検索エンジンは検索で文字と数字以外のものをブロックする傾向があるため、「=&gt;」を検索することはできません。 それで、誰かがそれが何であるか、そしてそれがどのように使われるかを教えてもらえますか?
84 c#  syntax 

7
エンティティフレームワークで追跡されたエンティティをクリアするにはどうすればよいですか
エンティティの大きな山を実行する修正コードを実行しています。速度が低下するにつれて、コンテキスト内の追跡されるエンティティの数が反復ごとに増加するためです。時間がかかる可能性があるため、最後に変更を保存しています。各反復の。各反復は独立しており、以前にロードされたエンティティを変更しません。 変更の追跡をオフにできることはわかっていますが、一括挿入コードではないため、オフにしたくありませんが、エンティティを読み込んでいくつかの計算を行い、数値が正しくない場合は、新しい数値を設定して更新/削除/作成しますいくつかの追加エンティティ。反復ごとに新しいDbContextを作成でき、おそらく同じインスタンスですべてを実行するよりも高速に実行できることはわかっていますが、もっと良い方法があるのではないかと考えています。 したがって、問題は次のとおりです。以前にdbコンテキストにロードされたエンティティをクリアする方法はありますか?

25
名前<…>が名前空間clr-namespace <…>に存在しません
以前は問題なくコンパイルされていた小さなWPFアプリケーションがありますが、現在はそうではありません。どの時点で構築が停止したかは、はっきりとは言えません。ある日はうまくいきましたが、次の日はうまくいきませんでした。 プロジェクトの構造は次のとおりです。 標準の.netdll以外に、他のプロジェクトや外部参照はありません。 問題が発生したユーザーコントロールは次のとおりです。 &lt;UserControl x:Class="TimeRecorder.HistoryUserControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TimeRecorder.ViewModel" xmlns:framework="clr-namespace:TimeRecorder.Framework" mc:Ignorable="d" Height="Auto" Width="Auto" Padding="5"&gt; &lt;UserControl.Resources&gt; &lt;local:HistoryViewModel x:Key="ViewModel"/&gt; &lt;framework:BoolToColorConverter x:Key="ColorConverter"/&gt; &lt;/UserControl.Resources&gt; &lt;StackPanel DataContext="{StaticResource ViewModel}"&gt; そして、これが私が得るエラーです: これはスクリーンショットの1つのファイルだけでなく、このプロジェクトのすべてのユーザーコントロール/ウィンドウファイルのxamlに同様の方法で追加するすべての参照であることに注意してください。 したがって、ファイルはそこにあり、ファイル内の名前空間は正しく、xamlファイル内の名前空間/クラス名は(私の理解では)正しいです。xamlを入力するとインテリセンスが得られるので、ファイルは正常に検出されますが、コンパイル時には検出されません。 他の投稿でこれに対する最も一般的な解決策は、.netフレームワークバージョンです。現在、メインプロジェクトとテストプロジェクトの両方で.Net Framework4に設定されています。クライアントプロファイルではなく、フルバージョン。 これが私が台無しにしたと思うものです: 構成マネージャーでは、両方のプロジェクトのプラットフォームが任意のCPUに設定されていますが、これを解決しようとしたときに、メインプロジェクトがx86に設定され、テストプロジェクトが任意に設定されていることに気付きましたCPU。そこで、構成マネージャーのメインプロジェクトに任意のCPUを手動で追加しました。しかし、正直なところ、これを正しく行ったかどうか、あるいは行うべきかどうかはわかりません。それで、追加の質問として、構成マネージャーをデフォルトの状態にリセットする方法はありますか?これは主な問題について何か言いたいことがありますか?メインプロジェクトが常にx86に設定されているかどうか、または何らかの理由でx86に変更してから壊れたのかどうかはわかりません。前述のように、このプロジェクトはしばらくの間問題なくコンパイルされていました。
84 c#  .net  wpf  xaml  namespaces 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.