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

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


23
テキストボックスにプレースホルダーテキストを追加する
HTML5のテキストボックスでできるように、テキストボックスにプレースホルダーテキストを追加する方法を探しています。 つまり、テキストボックスにテキストがない場合は、テキストを追加しますEnter some text here。ユーザーがテキストをクリックすると、プレースホルダーテキストが非表示になり、ユーザーが独自のテキストを入力できるようになります。テキストボックスがフォーカスを失い、まだテキストがない場合、プレースホルダーはテキストボックスに再度追加されました。
147 c#  wpf  placeholder 


6
JavaScriptからMVCのモデルプロパティにアクセスする
私のビューモデルにラップされている次のモデルがあります public class FloorPlanSettingsModel { public int Id { get; set; } public int? MainFloorPlanId { get; set; } public string ImageDirectory { get; set; } public string ThumbnailDirectory { get; set; } public string IconsDirectory { get; set; } } JavaScriptから上記のプロパティの1つにアクセスするにはどうすればよいですか? 私はこれを試しましたが、「未定義」になりました var floorplanSettings = "@Model.FloorPlanSettings"; alert(floorplanSettings.IconsDirectory);


20
AssemblyVersion属性の重複
コンパイル時に次のエラーを生成するプロジェクトがあります。 エラーCS0579: 'AssemblyVersion'属性が重複しています ファイルAssemblyInfo.csを確認したところ、重複がないようです。 同様の問題に対処するMSDNのこの記事を見つけ、この記事の提案に従って問題も修正しました。 誰がここで何が起こっているのか教えてもらえますか?同じような名前のクラスを持つ2つ以上のプロジェクトがある場合にのみ発生しますか?それとも別のことですか?

12
データテーブルの行の並べ替え
次のDataTableように、には2つの列があります。 COL1 COL2 Abc 5 Def 8 Ghi 3 私たちは、これを並べ替えるしようとしているdatatableに基づいてCOL2降順インチ COL1 COL2 ghi 8 abc 4 def 3 jkl 1 私たちはこれを試しました: ft.DefaultView.Sort = "COL2 desc"; ft = ft.DefaultView.ToTable(true); しかし、を使用せずに、でなくDataView、DataTableそれ自体をソートする必要がありますDataView。
146 c#  sorting  datatable 

16
派生クラスのメソッドを呼び出すと基本クラスのメソッドが呼び出されるのはなぜですか?
このコードを考えてみましょう: class Program { static void Main(string[] args) { Person person = new Teacher(); person.ShowInfo(); Console.ReadLine(); } } public class Person { public void ShowInfo() { Console.WriteLine("I am Person"); } } public class Teacher : Person { public new void ShowInfo() { Console.WriteLine("I am Teacher"); } } このコードを実行すると、次のように出力されます。 私は人です ただし、これはでTeacherはなくのインスタンスであることがわかりますPerson。なぜコードはそれをするのですか?
146 c#  class  derived-class 

30
Visual Studio 2013が単体テストを検出しない
Visual Studio 2013には、1つのWebプロジェクト、1つのライブラリプロジェクト、および1つの単体テストプロジェクトで構成されるシンプルなソリューションがあります。ソリューションを開いて単体テストを実行しようとすると、Visual Studioで検出されません。テストを実行するには、メニューに移動して、[テスト]-> [実行]-> [すべてのテストを実行]を選択するか、テストエクスプローラーウィンドウを開きます。これらの方法により、ビジュアルスタジオはソリューション内のテストを検出しません。 最初に単純な単体テストプロジェクトを作成してテストを実行しようとすると、Visual Studioはテストを発見し、実行できます。次に、以前のソリューションを開くと、ビジュアルスタジオがすべてのテストを検出します。ソリューションを保存しようとしましたが、最初に単体テストプロジェクトを作成せずにソリューションを閉じて再度開いた場合、Visual Studioはテストを再度検出しません。これは非常に奇妙な動作で、なぜこれが起こっているのかわかりません。 Visual Studioチームの基盤と統合されたソース管理gitを使用していたこのプロジェクトで、私は一人で働いていました。ビジュアルスタジオがユニットテストを検出しないという問題は、新しい要素がプロジェクトに到達したとき、およびソース管理オンラインでソリューションを再作成する必要があるときに始まります。これ以前は、すべてのテストは常にVisual Studioによって発見されていました。 ユニットテストの作成には、Microsoft.VisualStudio.QualityTools.UnitTestFramework dllを使用します。Visual Studioの私のバージョンは次のとおりです。MicrosoftVisual Studio Express 2013 for Webバージョン12.0.30723.00 Update3。.netフレームワークのバージョンは4.5.50938です。 私のテストはすべて次のとおりです: [TestClass] public class Service1Test { [TestMethod] public void Test1() { Assert.IsTrue(True); } }

7
1をshortとして渡すことができるのに、int変数iを渡せないのはなぜですか?
最初と2番目の書き込みは機能するが、最後は機能しないのはなぜですか?3つすべてを許可して1(int)1であるか、それとも渡されたかを検出できる方法はありますか?そして、本当になぜそれが許されるのですか?2つ目は許可されていますが、最後は許可されていません。 コンパイルエラーを表示するデモ using System; class Program { public static void Write(short v) { } static void Main(string[] args) { Write(1);//ok Write((int)1);//ok int i=1; Write(i);//error!? } }

6
Windows 10コンソールで無限が「8」として印刷されるのはなぜですか?
私はゼロを含む部門から返されたもの0/1、すなわち、1/0およびをテストしていました0/0。これには、次のようなものを使用しました。 Console.WriteLine(1d / 0d); ただし、このコードで8はInfinity、次のような文字列定数は出力されません。PositiveInfinity。 完全を期すために、以下のすべての印刷物8: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); そしてConsole.WriteLine(Double.NegativeInfinity);プリント-8。 なぜこの無限大は8を出力するのですか? これが8ではなく無限大のシンボルであると思われる方のために、次のプログラム: Console.WriteLine(1d / 0d); double value = 1d / 0d; Console.WriteLine(value); Console.WriteLine(Double.PositiveInfinity); Console.WriteLine(8); 出力:
146 c#  .net  windows 

8
System.Diagnostics.Debug.Write出力はどこに表示されますか?
次のC#プログラム(で作成csc hello.cs)Hello via Console!は、コンソールとHello via OutputDebugStringDebugViewウィンドウにのみ印刷されます。ただし、どちらのSystem.Diagnostics.*呼び出しも表示されません。何故ですか? using System; using System.Runtime.InteropServices; class Hello { [DllImport("kernel32.dll", CharSet=CharSet.Auto)] public static extern void OutputDebugString(string message); static void Main() { Console.Write( "Hello via Console!" ); System.Diagnostics.Debug.Write( "Hello via Debug!" ); System.Diagnostics.Trace.Write( "Hello via Trace!" ); OutputDebugString( "Hello via OutputDebugString" ); } } おそらくいくつかの特別なコマンドラインスイッチが必要ですcscか? 私は開発にVisual Studioを使用していません。これは純粋なコマンドラインのものです。
146 c#  debugging 

6
C#:なぜアセンブリに署名するのですか?
私が引き継いだいくつかのC#コード(Visual Studio 2005)では、アセンブリがすべて同じ.snkファイルで署名されていることに気付きました。 なぜ前の著者はこのように議会に署名したのでしょうか? アセンブリに署名する必要はありますか?署名しないと何が問題になりますか? アセンブリの署名にはどのような欠点がありますか?遅延の原因になりますか?
146 c#  assemblies 

2
Visual Studio 2015でC#7を使用する方法
OverаэтотвопросестьответынаStack Overflowнарусском:МожнолииспользоватьC#7.0 VS VSстарее2017? Visual Studio 2017(15.x)はC#7をサポートしていますが、Visual Studio 2015(14.x)はどうですか? C#7をどのように使用できますか?

5
NUnit Assert.ThrowsメソッドまたはExpectedException属性を使用しますか?
これらが例外をテストする2つの主な方法であると思われることを発見しました。 Assert.Throws<Exception>(()=>MethodThatThrows()); [ExpectedException(typeof(Exception))] これらのうちどれが最良でしょうか?一方が他方よりも優れている点はありますか?それとも単に個人的な好みの問題ですか?

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