だから私は値がPHPますprint_r()関数の動作と同じように多くを渡された情報を出力している)(C#関数ますprint_rを書くしようとしています。ますprint_r()PHP関数
機能への入力としてオブジェクトに取って、それが何であるかの種類に応じている私は何をやっている、私は配列を介して出力値、またはループをよ、配列内の値をプリントアウト。私は基本的な価値観をプリントアウト何の問題もないが、私はそれが配列である検出した場合、私は、オブジェクトをループしようとすると、私はC#からエラーがエラー1つのforeach文はタイプので、 『オブジェクト』の変数を操作することはできません」と言って「オブジェクトを取得します'は' GetEnumerator 'のパブリック定義を含んでいません "。
オブジェクトはIEnumerable <を実装していないと仮定していますが、このオブジェクトを入力オブジェクトとして処理できる方法はありますか?
これは、関数(IEnumerableを<>の部分は、コンテンツの面で空白であるため、私の現在のコードであるが、これは私にエラーを与えているコードです。
感謝。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Reflection;
namespace ConsoleApplication1
{
class Program
{
static void print_r(object val)
{
if (val.GetType() == typeof(string))
{
Console.Write(val);
return;
}
else if (val.GetType().GetInterface(typeof(IEnumerable).FullName) != null)
{
foreach (object i in val)
{
// Process val as array
}
}
else
{
Console.Write(val);
return;
}
}
static void Main(string[] args)
{
int[] x = { 1, 4, 5, 6, 7, 8 };
print_r(x);
Console.Read();
}
}
}
最初の結果を試してみてくださいhttp://bit.ly/x3tH6i – scibuff
私が必要とするものはまったくありません。このトピック@scibuff –
は、Googleで最初の結果です。 – dvdmn