using System;
using System.Data;
class Class1{
static void Main(string[] args){
Console.WriteLine(ConvertDegreesToRadians (180));
Console.WriteLine(ConvertDegreesToRadians (90));
Console.WriteLine(ConvertDegreesToRadians (30));
}
public static double ConvertDegreesToRadians (double degrees)
{
double radians = (Math.PI / 180) * degrees;
return (radians);
}
}
Month: February 2011
Nullable extension: Has Value And Equals
//http://arolibraries.codeplex.com/
//The MIT License (MIT)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AroLibraries.ExtensionMethods
{
public static class NullableExt
{
public static bool Ext_HasValueAndEquals<T>(this Nullable<T> source, T target) where T : struct
{
return source.HasValue && source.Value.Equals(target);
}
public static bool Ext_HasValueAndEquals<T>(this Nullable<T> source, Nullable<T> target) where T : struct
{
return source.HasValue && source.Value.Equals(target);
}
}
}
Is it Nullable
//Microsoft Public License (Ms-PL)
//http://visualizer.codeplex.com/license
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Redwerb.BizArk.Core.TypeExt
{
/// <summary>
/// Provides extension methods for Type.
/// </summary>
public static class TypeExt
{
public static bool IsNullable(this Type type)
{
if (type == null) return false;
if (!type.IsGenericType) return false;
if (type.GetGenericTypeDefinition() != typeof(Nullable<>)) return false;
return true;
}
}
}
Nulllable HasValue
using System;
using System.Collections.Generic;
using System.Text;
public class MyTest {
public static void NullableTest(Nullable<int> intVal1, int intVal2) {
if (intVal1.HasValue == true)
Console.WriteLine(intVal1);
else
Console.WriteLine("Value1 is NULL");
if (intVal2 > 0)
Console.WriteLine(intVal2);
else
Console.WriteLine("Value2 is Null?");
}
}
Nullable int Types
using System;
using System.Collections.Generic;
using System.Text;
class DatabaseReader {
// Nullable data field.
public int? numbericValue;
public bool? boolValue = true;
// Note the nullable return type.
public int? GetIntFromDatabase() { return numbericValue; }
// Note the nullable return type.
public bool? GetBoolFromDatabase() { return boolValue; }
}
class Program {
static void Main(string[] args) {
DatabaseReader dr = new DatabaseReader();
int? i = dr.GetIntFromDatabase();
if (i.HasValue)
Console.WriteLine("Value of 'i' is: {0}", i);
else
Console.WriteLine("Value of 'i' is undefined.");
// Get bool from 'database'.
bool? b = dr.GetBoolFromDatabase();
if (b != null)
Console.WriteLine("Value of 'b' is: {0}", b);
else
Console.WriteLine("Value of 'b' is undefined.");
// If the value from GetIntFromDatabase() is null,
// assign local variable to 100.
int? myData = dr.GetIntFromDatabase() ?? 100;
Console.WriteLine("Value of myData: {0}", myData);
}
}
Nullable bool Types
using System;
using System.Collections.Generic;
using System.Text;
class DatabaseReader {
// Nullable data field.
public int? numbericValue;
public bool? boolValue = true;
// Note the nullable return type.
public int? GetIntFromDatabase() { return numbericValue; }
// Note the nullable return type.
public bool? GetBoolFromDatabase() { return boolValue; }
}
class Program {
static void Main(string[] args) {
DatabaseReader dr = new DatabaseReader();
int? i = dr.GetIntFromDatabase();
if (i.HasValue)
Console.WriteLine("Value of 'i' is: {0}", i);
else
Console.WriteLine("Value of 'i' is undefined.");
// Get bool from 'database'.
bool? b = dr.GetBoolFromDatabase();
if (b != null)
Console.WriteLine("Value of 'b' is: {0}", b);
else
Console.WriteLine("Value of 'b' is undefined.");
// If the value from GetIntFromDatabase() is null,
// assign local variable to 100.
int? myData = dr.GetIntFromDatabase() ?? 100;
Console.WriteLine("Value of myData: {0}", myData);
}
}
Nullable variable
using System;
using System.Collections.Generic;
using System.Text;
public class Vector {
public double? R = null;
public double? Theta = null;
public double? ThetaRadians {
get {
return (Theta * Math.PI / 180.0);
}
}
public Vector(double? r, double? theta) {
if (r < 0) {
r = -r;
theta += 180;
}
theta = theta % 360;
R = r;
Theta = theta;
}
public static Vector operator +(Vector op1, Vector op2) {
try {
double newX = op1.R.Value * Math.Sin(op1.ThetaRadians.Value)
+ op2.R.Value * Math.Sin(op2.ThetaRadians.Value);
double newY = op1.R.Value * Math.Cos(op1.ThetaRadians.Value)
+ op2.R.Value * Math.Cos(op2.ThetaRadians.Value);
double newR = Math.Sqrt(newX * newX + newY * newY);
double newTheta = Math.Atan2(newX, newY) * 180.0 / Math.PI;
return new Vector(newR, newTheta);
} catch {
return new Vector(null, null);
}
}
public static Vector operator -(Vector op1) {
return new Vector(-op1.R, op1.Theta);
}
public static Vector operator -(Vector op1, Vector op2) {
return op1 + (-op2);
}
public override string ToString() {
string rString = R.HasValue ? R.ToString() : "null";
string thetaString = Theta.HasValue ? Theta.ToString() : "null";
return string.Format("({0}, {1})", rString, thetaString);
}
}
class Program {
public static void Main(string[] args) {
Vector v1 = GetVector("vector1");
Vector v2 = GetVector("vector1");
Console.WriteLine("{0} + {1} = {2}", v1, v2, v1 + v2);
Console.WriteLine("{0} - {1} = {2}", v1, v2, v1 - v2);
Console.ReadKey();
}
public static Vector GetVector(string name) {
Console.WriteLine("Input {0} magnitude:", name);
double? r = GetNullableDouble();
Console.WriteLine("Input {0} angle (in degrees):", name);
double? theta = GetNullableDouble();
return new Vector(r, theta);
}
public static double? GetNullableDouble() {
double? result;
string userInput = Console.ReadLine();
try {
result = double.Parse(userInput);
} catch {
result = null;
}
return result;
}
}
[/csharp]

