X



C#, C♯, C#相談室 Part93©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 1e06-m8Mb)垢版2017/04/22(土) 08:52:00.93ID:iVvswOrb0
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0825デフォルトの名無しさん (ワッチョイ d9e3-1aIk)垢版2018/12/12(水) 13:45:10.42ID:RRyKxOPE0
>>807
海外の人も Unity 発表の数値には疑問を抱いている。
ちなみに、日本のゲーム業界の開発者数(プログラマ、
デザイナ、企画含む) は、2万5,000任程度だとされ、
世界でも1チームの平均人数は5.5人程度。
Unityには、450万人もの開発者が登録されているとされる。
Unity発表の数値が正しければ、世界には、
ゲーム開発チームが、160万〜200万チームも
あることになってしまう。

「How many game developers existed in 2016?」
https://www.quora.com/How-many-game-developers-existed-in-2016


A cached version of Unity’s public relations page from July 2016 states that
Unity has 45% of the global market share and 4.5 million developers using the
platform, indicating an estimated total of 10 million individual game developers
(my guess is that “developers” means people working in game development,
including roles such as artists and game designers as well as engineers, who
could potentially use the tool).

From a 2013 Game Development Magazine survey of 1051 developers (republished by GamaSutra):

Studio size and type: 7% of respondents are individual independent devs,
19% are teams of 2-5 people, 14% on 6-10, 18% on 11-30 , 9% on 31-50,
7% on 51-80, 5% on 81-100, 8% on 101-150, 4.5% on 151-200,
5.5% on 201-300, and 3% on teams of 300+.

This indicates an average team size between 5 and 6 team members.
If each of these members falls under Unity’s classification of “developers,”
we can estimate 1,600,000 - 2,000,000 game development studios (including
individuals developing games alone as well as teams).
0826デフォルトの名無しさん (ワッチョイ d9e3-1aIk)垢版2018/12/12(水) 13:54:09.60ID:RRyKxOPE0
2017/01/27時点で、GooglePlay には、260万個、AppStore には、
200万個のアプリがある。そのうちの25%がゲームだとして、Android
には、60万ゲームある。1チーム当たり 5個のゲームを公開している
としても、12万「チーム」あることになる。日本のプロのゲーム開発者
が2万5,000人程度しかいないことを考えると、凄い人数では有る。

そもそもアプリ全体の個数もかなり多いので、アマチュアプログラマがかなり
多い事は多い。

------
There are currently over 2.6 million apps in the Google Play Store and over
2 million in the App Store. I can’t find anything to say how many of those
are games. Let’s assume 25% are games. Lets just focus on Android as
our estimation. That would mean more than 600,000 games on Google Play.
I would say the average developer has 5 games on the store. Lets use 10
to be conservative. That would mean there are 60,000 different developers.

That’s my best guesstimate. My gut tells me it’s probably more but who
knows. I know for one thing, I am a developer and I have 4 games released.
Feel free to check them out:
0827デフォルトの名無しさん (ワッチョイ d9e3-1aIk)垢版2018/12/12(水) 14:02:18.23ID:RRyKxOPE0
GooglePlayやAppStoreのAppって、250万個もあれば、その中に本当に同一のものが
含まれてないか、または、250万個も本当にあるかを調べることは不可能に近い
かも知れない。
そもそも本当はそんなに無かったりして。そもそも、Vectorに登録されているアプリ
だってそこまで無い気もするし。
0828デフォルトの名無しさん (スププ Sdb3-OBga)垢版2018/12/12(水) 14:04:10.36ID:3f3X1OW4d
うちゲーム会社じゃなくて製造業(けっこう大手)だけど、VR絡みはUnity使ってるよ。
同業他社も使ってるのは意見交換会で聞いたし。
映像系でも使われ始めてるから、ゲーム業界から離れたほうがわかりやすいかも。
0830デフォルトの名無しさん (ワッチョイ d9e3-1aIk)垢版2018/12/12(水) 14:43:30.92ID:RRyKxOPE0
確かに、VRまで含めれば説明が付く気はするんだよ。
使う人の人数は作る人の人数より100倍程度は居るのが普通だから。

ただ、GooglePlayに登録されているアプリ数が本当に250万本もあるかどうか、
そのまま信じていいかについては注意すべき。

そもそも250万種類の一覧表をテキストファイルで見られるかどうか。

旧 nifty serve なんかも、「シェアウェアは儲かる」と言ってパソコン通信
加入者を増やそうとしたらしい。その際、「秀丸エディタ」が1億円の売り上げ
がある、とされたが、その作者が富士通社員だったことは公然の秘密。
0832デフォルトの名無しさん (ワッチョイ d9e3-1aIk)垢版2018/12/12(水) 14:55:46.58ID:RRyKxOPE0
>>831
そういう意味じゃなくって、GooglePlay から、全てアプリが載った一覧表を一度に
ダウンロードできるのかってこと。

検索するだけだったら、本当に250万種類もあるかは誰にも分からないじゃない
かと。
0836デフォルトの名無しさん (スップ Sdf3-wOqU)垢版2018/12/12(水) 20:04:55.15ID:fYjPqF3od
ダウンロードできるか?ってできるだろ
1レコードがMB単位でデータあるんか?
1レコード1KBで2.5GB
最近のゲームなんて10GB超えのダウンロード当たり前みたいなとこあるじゃん
250万行のテキストはあんま開きたくはないが
0837デフォルトの名無しさん (スップ Sdf3-wOqU)垢版2018/12/12(水) 20:09:07.70ID:fYjPqF3od
なんの根拠もない空想だけどゲームとVRの比率、VRが10%とかじゃない?
もちろん両方もそれなりにいるだろうけど
それでVRまで含めれば説明がつく、って意味がわからん
0838デフォルトの名無しさん (スププ Sdb3-OBga)垢版2018/12/12(水) 20:16:58.44ID:3f3X1OW4d
あんまり詳しくは言えないけど、VR以外にも使ってるものもあるし、エンタープライズだとお値段時価だし、
企業ユースでは数人のチームなんてのはあり得なくて結構な人数分揃えるからね。
CADと連携したりなんやかんやで、ゲーム開発より金はかかるから、プロダクトの割合とは一致しないよ。
0841デフォルトの名無しさん (ワッチョイ 06b5-t2lu)垢版2018/12/14(金) 16:44:56.02ID:nWTWWp6e0
質問いいでしょうか
webapiにて
var task = Task.Factory.StartNew
これで重い処理をバックグラウンドで処理させています。
このtask開始時にDBにProcessThread.IdとProcessThread.StartTimeを落として
別のwebapiでDBに落としたIdとStartTimeを使って
GetCurrentProcess().Threadsを検索して定期的に生きてるかのチェックを行っています。
これがけっこう不安定みたいで、バックグラウンドの処理が終わる前に
ProcessThreadが検索できなくなる場合があります。
最初にStartNewさせた際のProcessThreadが生きてる正しい確認方法はないでしょうか?
ブラウザを閉じた場合を考慮してProcessThreadで確認を行いたいです。
0842デフォルトの名無しさん (ワッチョイ 06b5-t2lu)垢版2018/12/14(金) 17:44:35.68ID:nWTWWp6e0
すいません。
変な質問ですね。
var taskを見るのではなく、その他の方法で
バックグラウンド処理が動いてるかの確認が行いたいです。
0843デフォルトの名無しさん (ワッチョイ 06b5-t2lu)垢版2018/12/14(金) 18:14:11.54ID:nWTWWp6e0
すいません。
自己解決です。
static public Task wkTaskを宣言しておいて

wkTask= Task.Factory.StartNewで作成したあと、ブラウザを閉じて
開き直してもwkTaskは生きてますね。

スレ汚しすいませんでした。
0850デフォルトの名無しさん (ワッチョイ ae02-HdPi)垢版2019/02/10(日) 17:55:21.67ID:Y+0FbWW50
メソッドへのオブジェクト引数で、参照渡し(refをつける)、とオブジェクトの値渡し(refなしの値渡し。つまり、ポインター(アドレス)渡し)の違いがわかりません。
同じと思ってますが・・・・・。事実は違うようです。参照だと渡し元も変更される、っていう違いは分かります。
それ以外の違いはあるんでしょうか?
0854デフォルトの名無しさん (ワッチョイ 4690-Bwin)垢版2019/02/10(日) 18:57:09.81ID:ynO2ssbq0
参照値でも、refつけない値渡しとref付ける参照渡しできる。
で、参照値以外の値...とりあえず非参照値と呼ぶと
非参照値でも、refつけない値渡しとref付ける参照渡しできる。

全部で4パターンあるってこと 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
0855デフォルトの名無しさん (アウアウエー Sa0a-gVV1)垢版2019/02/10(日) 19:18:44.11ID:zgWWffC0a
>>850
簡単なので難しく考えてはだめ。すごくシンプルな話。

その型の値(その型の変数に格納される値)を渡すのが値渡し。
その型の変数の「場所」を渡すのが参照渡し。
さらっと書いたけど、「その型の値 = その型の変数に格納される値」なのはよく理解する必要がある。
つまり、参照型の変数に格納される値って何だったか要再考。

変数とはメモリ上に割り当てられた特定の領域のこと。
だからその領域のバイト列のコピーを渡すのが値渡しで、
領域の先頭アドレスを渡すのが参照渡しだと思えばいい。

参照渡しでメソッドが受け取る情報は「変数の」場所なので、参照渡しの引数に
リテラルや式を渡すことは出来ない。
0856デフォルトの名無しさん (ワッチョイ 6ea5-sQyl)垢版2019/02/10(日) 19:59:44.58ID:xbk//Ba50
多分だけど参照渡しと値渡しの挙動自体は理解しているものの、
デフォ参照型とデフォ値型の区別がついておらずにデフォ参照型で実験をしてrefでも素渡しでも変わらないやんってことじゃないか
0870デフォルトの名無しさん (ワッチョイ cd0c-feI+)垢版2019/02/12(火) 23:51:08.44ID:HQcd2HqP0
BindableBase SetPropertyとかでぐぐってみれ
有り体に言えば自身のプロパティ(のバックストア)を差し替えるジェネリックメソッドを基底クラスで定義するのに使うだけ
0871デフォルトの名無しさん (ワッチョイ f901-OF6d)垢版2019/02/13(水) 00:40:04.33ID:6JezjdzR0
WPFとかUWPとか使ってればBindableBaseのありがたさはよくわかる

関係ないけどstaticメソッドって呼び出すときにいちいちインスタンスを生成する必要がないって以外のメリットあるのかな?
0872デフォルトの名無しさん (アウアウエー Sa0a-gVV1)垢版2019/02/13(水) 01:53:30.80ID:sK/raQIQa
>>871
まあメリットって発想がそもそもおかしい。
例えばDouble.Parseがstaticなのはその方が意味的に自然だから
インスタンスメソッドである必然性がないし、インスタンスメソッドでは不自然だから
0881デフォルトの名無しさん (アウアウカー Sa5b-KHu+)垢版2019/02/15(金) 22:47:38.37ID:izkrr7dEa
いやチェックしとけよそこは
0887デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)垢版2019/02/16(土) 13:08:53.78ID:q1DAaOKG0
>>883
> 例外っていろんな種類あるけど具体的に何を使えばいいのかよくわからなくて
投げる方で悩むのはわかるけど
> とりあえずcatch(Exception e)とかしちゃってる
受ける方はどれ受けるべきかはわかってるでしょ
最終手段としてよくわからんけどエラーが発生したから終了するね
って言うならcatch(Exception e)もありだと思うが
0892デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)垢版2019/02/16(土) 15:03:48.09ID:uy2P96bkM
最近部活の後輩が黒魔術みたいなコードを書くようになって困ってるんだが対策ない?

こんな感じのコードを後輩が書いてくるんだよ↓

public interface IMessenger {
__public MessageReceived();
}
public abstract class Messenger : IMessenger{
__public abstract void MessageReceived();
__public abstract void Retry();
}
0893デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)垢版2019/02/16(土) 15:04:05.72ID:uy2P96bkM
public class Mail : Messenger {
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Alarm : Messenger {
__public override void MessageReceived(){
____//処理
__}
__public override void Retry(){
____//処理
__}
}
public class Communication {
__public void SendMessage(IMesssenger message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage() as IMessage;
____received?.MessageReceived();
__}
}
0894デフォルトの名無しさん (オイコラミネオ MMdb-XSOg)垢版2019/02/16(土) 15:04:31.94ID:uy2P96bkM
こんなんだったから

public class Communication{
__public void SendMessage(string message){
____SendMessage(message);
__}
__public void Received(){
____var received = GetMessage();
______switch(received.First()){
_______case "0":
_________MailEvent(received);
_________break;
_______case "1":
_________AlermEvent(received);
_________break
____}
__}
}

こんな感じで書くように矯正しといた
CSVで2文字で分けるって言ってるんだから
何が起こってるかわかるように書くことを意識してもらわないと
0895デフォルトの名無しさん (ワッチョイ c701-cT+3)垢版2019/02/16(土) 15:06:36.58ID:8cj+4+Hl0
まあ例外でプログラムは終了させるべきだよな
ただ客は例外が起きてもcatchで握りつぶしてスルーした方が文句言わないんだよな……
0901デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)垢版2019/02/17(日) 14:42:24.50ID:QIeMqQFm0
byte*からbyte[]にする方法ってない?
new byte[64];みたいに新規確保してコピーしか方法ないんだろうか
Unsafe.As等で新規確保無しで出来るかと思って色々試してみたけど上手くいかない
0902デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)垢版2019/02/17(日) 15:01:42.36ID:99sHKv96a
「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
全然別の型なんだしあるわけないでしょう。
そういう危なっかしい機能を排除してるのがC#の売りの一つだったはずなわけで

コピーする機能ならMarshalあたりにあるんじゃない?
0903デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)垢版2019/02/17(日) 15:16:25.11ID:QIeMqQFm0
>>902
>「byte[]にする」が「byte[]とみなして扱えるようにする」って意味なら
そういうことです

あるわけないと言いますが、その逆はあるので出来るかなと思い
(byte*やref byteで先頭を指定し自作のstructとして読ませる。少しずらせばbyte[]を自作クラスとして読ませることも可能)
0906デフォルトの名無しさん (ワッチョイ 7fa7-cT+3)垢版2019/02/17(日) 15:27:09.29ID:QIeMqQFm0
>>904
public struct MyStruct { public int Value1, Value2, Value3, Value4 };
byte[] data = new byte[16] { 1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0 };
ref var myStruct = ref Unsafe.As<byte, MyStruct>(ref data[0]);
これでmyStruct .Value1は1、myStruct .Value2は2, myStruct .Value3は3, myStruct .Value4は4と余計なコピー無しに直接読み書きできる

byte[]からclassの場合はFieldOffset指定して各フィールドを4バイト後ろにづらないと出来ないから実用は難しいけど一応可能
0910デフォルトの名無しさん (ワッチョイ df32-A2tD)垢版2019/02/17(日) 16:27:59.23ID:tKx1WgvG0
byte[]も参照型だからね、オブジェクトヘッダが付いてなければ扱えない
Span<T>でなければ、具体的なシナリオにも依るけど元からbyte[]で作って
TypeHandleとlengthのsizeof(IntPtr)*2分ずらした所を使い回す方が賢明
結局fiexdと一緒な訳だが、P/Invokeならbyte[]渡してもゼロコピーの筈だし

abstract class Union<T> where T : struct {
internal readonly IntPtr length;
public T Value;
}
みたいなオレオレ実装をILキャストした事もあったな…後はSafeBufferとか
0911デフォルトの名無しさん (アウアウウー Sa21-eq4B)垢版2019/02/21(木) 12:35:31.38ID:78/oBfjca
self containedって完全に依存なしになるわけじゃないのね
alpine用にself containedでビルドしても動かなかった
libstdc++とか色々インストールしたら動いたけどさ
dotnetコマンド同梱と比較してコンテナサイズも殆ど変わらないし意味あるのかなこれ
0913デフォルトの名無しさん (ササクッテロレ Spbd-zZPo)垢版2019/02/21(木) 14:33:57.39ID:XSMrGlqdp
SCDは.NETのランタイムを別途インストールじゃなくて同梱するってだけの話だしね
公式ドキュメントにも注釈あるけどLinuxは仕様上完全に断ち切るのは難しいんじゃない?
Windowsだと同梱のファイルだけでそのまま動くけど
0918デフォルトの名無しさん (ワッチョイ 5d2d-4qoz)垢版2019/02/26(火) 16:27:59.06ID:jgGxVc0K0
ちょくちょくポインタ代替機能についての質問があるけどさ
どんな用途でポインタを使いたいのかわかんないけど、大抵の場合はストリームで代用できるんじゃないのかな
0922デフォルトの名無しさん (ワッチョイ 6d7b-SpKW)垢版2019/02/27(水) 22:56:28.74ID:0yfFFlZD0
ポインタなんかアンマネージとのやり取りとBitmapdataでしか使ったことないな
アンマネージとのやり取りだとrefとかoutにしとけばあとは何も考えなくていいから助かる
レス数が900を超えています。1000を超えると表示できなくなるよ。

ニューススポーツなんでも実況