開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio Community 2017
Head First C# ―頭とからだで覚えるC#の基本 (Andrew Stellman (著)、Jennifer Greene (著)、佐藤 嘉一 (監修, 監修)、木下 哲也 (翻訳)、オライリージャパン)の3章(オブジェクト指向になる! - わかりやすいコードにする)、自分で考えてみよう(p. 95)を取り組んでみる。
コード
MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:App1" x:Class="App1.MainPage"> <StackLayout> <!-- Place new controls here --> <!-- <Label Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" /> --> <Editor x:Name="editor1" Text="destination1" /> <Editor x:Name="editor2" Text="route1" /> <Editor x:Name="editor3" Text="route2" /> <Button x:Name="button1" Text="button1" Clicked="button1_Clicked"/> </StackLayout> </ContentPage>
MainPage.xaml.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; namespace App1 { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); } private void button1_Clicked(object sender, EventArgs e) { string destination = editor1.Text; string route2StreetToAvoid = editor2.Text; string route3StreetToInclude = editor3.Text; Navigator navigator1 = new Navigator(); navigator1.SetDestination(destination); int distance1 = navigator1.TotalDistance(); Navigator navigator2 = new Navigator(); navigator2.SetDestination(destination); navigator2.ModifyRouteToAvoid(route2StreetToAvoid); int distance2 = navigator2.TotalDistance(); Navigator navigator3 = new Navigator(); navigator3.SetDestination(destination); navigator3.ModifyRouteToAvoid(route3StreetToInclude); int distance3 = navigator3.TotalDistance(); int shortestDistance = Math.Min(distance1, Math.Min(distance2, distance3)); DisplayAlert("", shortestDistance.ToString(), "cancel"); } } public class Navigator { private string destination; public void SetDestination(string destination) { this.destination = destination; } public void ModifyRouteToAvoid(string route) { } public void ModifyRouteToInclude(string route) { } public void GetRoute() { } public void GetTimeToDestination() { } public int TotalDistance() { return 0; } } }
0 コメント:
コメントを投稿