質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

2回答

2185閲覧

Xamarin.formsでList<T>ForEachがみつからない

jm1156

総合スコア866

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2016/11/16 03:28

VisualStudio2015
.net 4.5
Xamarin.Forms.Portableで開発しているのですが、

List<T>.ForEachを使おうとしても、
インテリセンスに候補がでてきません。

通常のXamarinではなく、別のWindowsフォームアプリでのプロジェクトであれば、List<T>.ForEachがでるのですが、
Xamarinのプロジェクトのほうだと表示されません。

こんなかんじなのですが、data.のあとのインテリセンスに
ForEachがみつかりません。
イメージ説明

なぜでしょうか?
ぐぐってもXamarinでは使えないなどというような情報はありませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

PCLで作成していると.NET Portable Subsetが使用されるのですが,どうもそれにはForEachが実装されていないようです.

簡易的な対処法としては

csharp

1 static class LinqExtention 2 { 3 public static void ForEach<T>(this IEnumerable<T> src, System.Action<T> action) 4 { 5 foreach (T item in src) { 6 action(item); 7 } 8 } 9 }

みたいな拡張メソッドを生やしてしまうことでしょうか.
後段に繋げたいのであればyield return で itemを返すようにしたりなどがあります.(その際はメソッドはpublic static IEnumerable<T> ~みたいにして)

投稿2016/11/16 04:01

yamachu

総合スコア191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jm1156

2016/11/16 05:06

コードまで作っていただき、ありがとうございます。 参考になりました。 しかしなぜForEachが実装されてないんだろう、、、便利なのに、、、
ozwk

2016/11/16 05:16

・非同期処理が当たり前になってきた昨今 うっかり非同期呼び出しが含まれていると動作順がわかりにくくなるから説 ・副作用を嫌った説
guest

0

Xamarinというより、PCLにはList<T>.ForEach()が含まれていないようです。

投稿2016/11/16 03:46

編集2016/11/16 03:51
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jm1156

2016/11/16 04:01

返信ありがとうございます。 そういうことですか。 なんとかForEachを使用することはできないでしょうか?
ozwk

2016/11/16 04:16

どうしても使いたければ そんな難しい処理でもないのでyamachuさんのように自前実装してしまえばいいと思います。
jm1156

2016/11/16 05:05

ありがとうございます。そうさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問