c# - 将 C# 代码转换为 Android

标签 c# android .net code-migration

我是安卓新手。我已经在 C# 中实现了某种打洞功能,并且正在尝试在 android 中实现相同的逻辑。

.NET 解决方案中的一些类,我在 android 中实现了新类,例如 TimeSpan,尽管有一些类需要实现,但我已经堆积起来了。

  1. 尝试在 android 中获取类,其行为类似于 .NET 中的 CancellationTokenSource
  2. 有一些逻辑在 C# 中运行良好,但我不知道如何在 Android 中实现。

代码:

    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;
            }
        }
    }

谢谢

最佳答案

您可以查看Xamarin 。您可以使用 C# 创建 Android、iOS、Mac 和 Windows 应用程序,Xamarin Studio 会将其编译为 native 应用程序。

关于c# - 将 C# 代码转换为 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500668/

相关文章:

c# - 始终返回 true 的 Linq 表达式

c# - 使用 .NET 以编程方式管理 Microsoft Access 附件类型的字段

c# - 从 C# 访问 COM vtable

android - 关于布局 inflater 的说明 - 附加到 root?

android - 如何在 firebase 消息服务中添加 View ?

android - 从零售商网站获取价格

c# - HtmlWindow.Error 未捕获脚本错误 .NET

c# - 是否可以以编程方式隐藏单选按钮列表的特定列表项?

c# - Azure函数: timer trigger and consumption plan issue

javascript - Asp.net OnClientClick 显示表中其他单元格的值