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

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

15
継承による列挙型の拡張
これは列挙型の概念に反することを私は知っていますが、C#/ Javaで列挙型を拡張することは可能ですか?私は、列挙型に新しい値を追加するという意味だけでなく、既存の列挙型から継承するというオブジェクト指向の意味でも「拡張する」ことを意味します。 Javaではごく最近(Java 5?)しか入手できなかったので、それは不可能だと思います。C#は、クレイジーなことをしたい人にはもっと寛容なようですが、それは何らかの方法で可能かもしれないと思いました。おそらくそれはリフレクションを介してハッキングされる可能性があります(実際にその方法を使用するわけではありません)? 私は特定のメソッドを実装することに必ずしも興味はありません、それが私に起こったときそれは私の好奇心を引き起こしただけです:-)
85 c#  java  .net 


8
CountプロパティとCount()メソッド?
コレクションの操作には、オブジェクトの数を取得する2つの方法があります。Count(プロパティ)とCount()(メソッド)。主な違いが何であるか誰かが知っていますか? 私は間違っているかもしれませんがCount、Count()メソッドがコレクションに対して何らかのクエリを実行すると想定しているため、条件ステートメントでは常にプロパティを使用します。これは、Count「取得」する前にすでに割り当てられている必要があります。しかし、それは推測です-私が間違っているとパフォーマンスが影響を受けるかどうかはわかりません。 編集:好奇心から、Count()コレクションがnullの場合、例外がスローされますか?Countプロパティが単に0を返すと確信しているからです。
85 c#  linq  list  collections  count 

5
ビルド後のイベントはPowerShellを実行します
PowerShellスクリプトを実行するビルド後のイベントを使用して.NETプロジェクトをセットアップすることは可能ですか?このスクリプトを使用していくつかのファイルを生成しています。 また、デバッグビルドかリリースビルドかをスクリプトに渡すことはできますか。この例は素晴らしいでしょう。
85 c#  .net  powershell  msbuild 

8
C#で「nullをスロー」できるのはなぜですか?
特に複雑な例外処理コードを書いているときに、誰かが尋ねました。例外オブジェクトがnullでないことを確認する必要はありませんか?もちろんそうではないと言いましたが、試してみることにしました。どうやら、nullをスローすることはできますが、それでもどこかで例外になります。 なぜこれが許可されるのですか? throw null; このスニペットでは、ありがたいことに「ex」はnullではありませんが、nullになる可能性はありますか? try { throw null; } catch (Exception ex) { //can ex ever be null? //thankfully, it isn't null, but is //ex is System.NullReferenceException }

9
構成要素が宣言されていません
Visual Studio 2012 ExpressEditionでいくつかの作業を行っています。次のようにApp.configXMLファイルを追加しました。 <?xml version="1.0" encoding="utf-8" ?> <configuration> </configuration> 最初に発生するのは、「 'configuration'要素が宣言されていません」という警告が表示されることです。なぜこれが起こっているのか誰かが知っていますか?これが解決されるまで、要素は内部で宣言できないようです。 ありがとう! これはXML全体です。 <?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings> <add key="Version" value="779" /> <add key="TimeOut" value="60000" /> <add key="LogFileName" value="Log.txt" /> <!-- your Developer Id with eBay --> <add key="Environment.DevId" value="" /> <!-- your Application Id with eBay --> <add …
85 c#  xml  app-config 

14
DataTableから特定の行を削除する
DataTableからいくつかの行を削除したいのですが、次のようなエラーが発生します。 コレクションが変更されました。列挙操作が実行されない可能性があります 私はこのコードを削除するために使用します、 foreach(DataRow dr in dtPerson.Rows){ if(dr["name"].ToString()=="Joe") dr.Delete(); } それで、問題は何ですか、そしてそれを修正する方法は何ですか?どの方法をお勧めしますか?
85 c#  delete-row 

7
XMLシリアル化と継承されたタイプ
前の質問に続いて、オブジェクトモデルをXMLにシリアル化する作業を行っています。しかし、私は今問題に遭遇しました(クエルサプライズ!)。 私が抱えている問題は、抽象基本クラス型のコレクションがあり、具体的な派生型が入力されていることです。 関係するすべてのクラスにXML属性を追加するだけで十分であり、すべてが桃色になると思いました。悲しいことに、そうではありません! だから私はグーグルでいくつかの掘り下げをしました、そして今私はそれがうまくいかない理由を理解しました。その中で実際にあるが、シリアライズするためにいくつかの巧妙な反射をやってXMLから/に反対し、その抽象型に基づいているので、それがに話して何地獄を把握することはできません。結構です。XmlSerializer 私はCodeProjectでこのページに出くわしましたが、それは大いに役立つかもしれません(まだ完全に読んだり消費したりする)が、この問題をStackOverflowテーブルにも持ってきて、きちんとしたものがあるかどうかを確認したいと思いましたこれを可能な限り迅速/最軽量の方法で稼働させるためのハック/トリック。 私が付け加えなければならないことの一つは、私がルートを下りたくないということXmlIncludeです。単にそれとの結合が多すぎて、システムのこの領域は開発が進んでいるので、それは本当にメンテナンスの頭痛の種になるでしょう!

1
[fact]属性とは何ですか?
これは非常に簡単だと思いますが、私は明らかに正しいことをグーグルで検索していません。いくつかのユニットテスト関連のブログで、いくつかのメソッドに与えられた属性[fact]を見てきましたが、これが何を意味するのか理解できないようです。例: public class SomeClass { [Fact] public void Foo() { } [Fact] public void Bar() { } }
85 c# 

10
SqlParameterはすでに別のSqlParameterCollectionに含まれています-using(){}はごまかしますか?
using() {}以下に示すように(sic)ブロックを使用し、それcmd1が最初のusing() {}ブロックの範囲を超えて存在しないと仮定しているときに、2番目のブロックがメッセージとともに例外をスローする必要があるのはなぜですか SqlParameterは、別のSqlParameterCollectionにすでに含まれています ブロックの最後で破棄されたときに、SqlParameterCollectionアタッチされcmd1ているリソースやハンドル(パラメーター()を含む)が解放されないことを意味しますか? using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True")) { var parameters = new SqlParameter[] { new SqlParameter("@ProductId", SqlDbType.Int ) }; using(var cmd1 = new SqlCommand("SELECT ProductName FROM Products WHERE ProductId = @ProductId")) { foreach (var parameter in parameters) { cmd1.Parameters.Add(parameter); } // cmd1.Parameters.Clear(); // …
85 c#  .net  sql-server  ado.net 

8
ASP.NET MVCでページ付けを行うにはどうすればよいですか?
ASP.NET MVCでページネーションを行うための最も好ましい最も簡単な方法は何ですか?つまり、リストをいくつかの閲覧可能なページに分割する最も簡単な方法は何ですか。 例として、次のようにデータベース/ゲートウェイ/リポジトリから要素のリストを取得するとします。 public ActionResult ListMyItems() { List<Item> list = ItemDB.GetListOfItems(); ViewData["ItemList"] = list; return View(); } 簡単にするために、アクションのページ番号だけをパラメーターとして指定したいと思います。このような: public ActionResult ListMyItems(int page) { //... }

4
ディスク上のファイルのサイズを取得します
var length = new System.IO.FileInfo(path).Length; これにより、ディスク上のサイズではなく、ファイルの論理サイズがわかります。 Windowsエクスプローラーで報告されるように、C#で(できれば相互運用機能なしで)ディスク上のファイルのサイズを取得したいと思います。 次のような正しいサイズを指定する必要があります。 圧縮ファイル スパースファイル 断片化されたファイル
85 c#  .net  filesize 

6
BundleCollectionにMVC4のキャッシュされたスクリプトバンドルを強制的にフラッシュする方法
...または、心配するのをやめて、Microsoftの完全に文書化されていないAPIに対してコードを書くことをどのように学んだか。公式System.Web.Optimizationリリースの実際のドキュメントはありますか?'cuz確かに何も見つかりません、XMLドキュメントはありません、そしてすべてのブログ投稿は実質的に異なるRCAPIを参照しています。Anyhoo .. 私はjavascriptの依存関係を自動的に解決するコードをいくつか書いていて、それらの依存関係からその場でバンドルを作成しています。アプリケーションを再起動せずにスクリプトを編集したり、バンドルに影響する変更を加えたりした場合を除いて、すべてがうまく機能します。変更は反映されません。そこで、開発で使用するために依存関係のキャッシュを無効にするオプションを追加しました。 ただし、バンドルコレクションが変更された場合でも、明らかBundleTablesにURLをキャッシュします。たとえば、自分のコードでバンドルを再作成する場合は、次のようにします。 // remove an existing bundle BundleTable.Bundles.Remove(BundleTable.Bundles.GetBundleFor(bundleAlias)); // recreate it. var bundle = new ScriptBundle(bundleAlias); // dependencies is a collection of objects representing scripts, // this creates a new bundle from that list. foreach (var item in dependencies) { bundle.Include(item.Path); } // add the new bundle to …

7
C#の文字列で{0}が見つかった場合、それはどういう意味ですか?
このような辞書では: Dictionary<string, string> openWith = new Dictionary<string, string>(); openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe"); Console.WriteLine("For key = \"rtf\", value = {0}.", openWith["rtf"]); 出力は次のとおりです。 キーの場合= "rtf"値= wordpad.exe どういう{0}意味ですか?
85 c#  string  formatting 


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