将C#代码转换为Android
我不熟悉安卓系统。我在C#中实现了一种穿孔,我正试图在android中实现同样的逻辑 来自.NET解决方案的一些类是我在android中实现的新类,比如TimeSpan,尽管有一些类我需要实现,我得到了堆叠将C#代码转换为Android,c#,android,.net,code-migration,C#,Android,.net,Code Migration,我不熟悉安卓系统。我在C#中实现了一种穿孔,我正试图在android中实现同样的逻辑 来自.NET解决方案的一些类是我在android中实现的新类,比如TimeSpan,尽管有一些类我需要实现,我得到了堆叠 试图在android中获得在.NET中表现为CancellationTokenSource的类 有些逻辑在C#中非常有效,但我不知道如何在android中实现它 代码: private static Boolean rec_and_wait(TimeSpan interval)
private static Boolean rec_and_wait(TimeSpan interval)
{
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
try
{
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
byte[] data = new byte[1024];
IAsyncResult ar = socket.BeginReceive(data, 0, data.Length, SocketFlags.None, null, null);
int res = WaitHandle.WaitAny(new WaitHandle[] { ar.AsyncWaitHandle, _cancellationTokenSource.Token.WaitHandle }, interval.Add(TimeSpan.FromSeconds(10))); // allow extra 10 seconds for network delay
switch (res)
{
case 0: // response
return true;
case WaitHandle.WaitTimeout: // time out
case 1: //cancelled
default: // should not happen
return false;
}
}
catch
{
return false;
}
finally
{
if (socket != null)
{
socket.Close();
socket.Dispose();
socket = null;
}
}
}
谢谢使用语言转换工具。你可以在列表中找到一些不错的
它不会每次都给你一个100%的结果,但会让你接近最终结果,在这里和那里做一些小的改变,你就会得到你想要的。你可以查看。您可以使用C#创建Android、iOS、Mac和Windows应用程序,Xamarin Studio会将其编译为本机应用程序。学习Java和重写是最佳选择。我同意,我也同意,但有些类根本不相似,需要进行大量调整,有些类很简单,如TimeSpan,有些很难。。。这就是我问它的原因:-)它现在是免费的!您可以使用它,并用C#为Android和iOS进行所有编程。现在已经很成熟了!