-->

Windows

特集:Visual Studio 2017の全貌を探る:「Any Developer, Any App, Any Platform」 ―― Visual Studio 2017が目指す世界とは? (1/5) - @IT
このエントリーをはてなブックマークに追加

最近、WindowsとVisual Studioをインストールし直したんだが、UWPの新規プロジェクトを作成しようとすると「ターゲットに適したSDKが見つかりません」って出て作れなくなった(^^;)
調べてみると、最新のWindows10 SDKのみインストールしてるときに起こるようで、一個古いのも入れると直った。 
2017-03-14 (1)
 
このエントリーをはてなブックマークに追加

.NET TIPS:Visual Studio 2017のインストール前に、Visual Studio 2013/2015と2017プレビュー/RC版を完全にアンインストールするには? - @IT
このエントリーをはてなブックマークに追加

[UWP] スレッドにも書いたが、別エントリーでも書いとく。

Dispatcher.RunAsync()を使う。こんな感じ

                await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                {
                    button.IsEnabled = true;
                });



このエントリーをはてなブックマークに追加

JSON(文字列) => オブジェクトに変換する。

[ { "name":"山田太郎", "age":22 }, { "name\":"山田花子", "age":24 } ]

こんなやつを扱う。

次のusingをソースに追加しておく。

using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
using System.Diagnostics;

データのクラスを用意する。

    [DataContract]
    public class Person
    {
        [DataMember(Name="name")]
        public string Name { get; set; }
        [DataMember(Name="age")]
        public int Age { get; set; }
    }

変換する処理はこんな感じだ。

            // JSON(文字列)を用意
            var jsonStr = "[ { \"name\":\"山田太郎\", \"age\":22 }, { \"name\":\"山田花子\", \"age\":24 } ]";

            // 文字列をバイト配列にしてメモリーストリームに追加する。
            using (var memStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr)))
            {
                // シリアライザーを用意
                var serializer = new DataContractJsonSerializer(typeof(List<Person>));
                // メモリストリームから読み込んでオブジェクトに変換する。
                var jsonObject = serializer.ReadObject(memStream) as List<Person>;
                // 内容を表示
                jsonObject.ForEach(person => Debug.WriteLine("{0},{1}", person.Name, person.Age));
            }

実行すると、次のように出力される。

山田太郎,22
山田花子,24

JSONオブジェクト => JSON(文字列)に変換する。

            // JSONオブジェクトを用意
            var jsonObject = new List<Person>()
            {
                new Person() { Name="山田太郎", Age=22 },
                new Person() { Name="山田花子", Age=24 }
            };
            // メモリストリームを用意
            using (var memStream = new MemoryStream())
            {
                // シリアライザーを用意
                var serializer = new DataContractJsonSerializer(typeof(List<Person>));
                // JSONオブジェクトを変換してメモリーストリームに書き込む
                serializer.WriteObject(memStream, jsonObject);
                // メモリーストリームの内容を文字列に変換する。
                var jsonStr = System.Text.Encoding.UTF8.GetString(memStream.ToArray());
                // 表示する
                Debug.WriteLine(jsonStr);
            }

実行すると、次のように出力される。

[{"age":22,"name":"山田太郎"},{"age":24,"name":"山田花子"}]



このエントリーをはてなブックマークに追加

↑このページのトップヘ