即将推出的 C# 9 的一项功能是所谓的顶级程序。这样您就可以在没有类的情况下编写以下内容。
using System;
Console.WriteLine("Hello World!");
Run Code Online (Sandbox Code Playgroud)
并将dotnet run为您启动它。
它对我有用,但前提是我还添加了.csproj如下所示的文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
有没有办法.csproj从图片中跳过?:) 这样就只有一个Program.cs文件,仅此而已。
我正在尝试构建一个简单的 java 程序,它显示Windows中连接的蓝牙设备的电池状态。请参见下面的示例图像。
首先我从BlueCove开始,发现 BlueCove 只提供地址、简单名称等基本信息。经过进一步调查,发现读取特征的唯一方法是通过 BLE GATT 服务。因此开始基于在 GitHub Bluetooth-manager项目中找到的tinyb编写测试代码,结果出现异常
到目前为止,我已经尝试过这段代码
import org.sputnikdev.bluetooth.URL;
import org.sputnikdev.bluetooth.manager.CharacteristicGovernor;
import org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
public class B2 {
public static void main(String[] args) throws IOException, ExecutionException, InterruptedException {
new BluetoothManagerBuilder()
.withTinyBTransport(true)
.withBlueGigaTransport("^*.$")
.build()
.getCharacteristicGovernor(new URL("/XX:XX:XX:XX:XX:XX/F7:EC:62:B9:CF:1F/"
+ "0000180f-0000-1000-8000-00805f9b34fb/00002a19-0000-1000-8000-00805f9b34fb"), true)
.whenReady(CharacteristicGovernor::read)
.thenAccept(data -> {
System.out.println("Battery level: " + data[0]);
}).get();
}
}
Run Code Online (Sandbox Code Playgroud)
马文
import org.sputnikdev.bluetooth.URL;
import org.sputnikdev.bluetooth.manager.CharacteristicGovernor;
import org.sputnikdev.bluetooth.manager.impl.BluetoothManagerBuilder;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
public class B2 { …Run Code Online (Sandbox Code Playgroud) 我想创建一个实用程序方法,它可以接受一个列表并按其字符串值对其进行排序.但我似乎无法弄清楚如何编写通用的参数.这是我到目前为止:
public class StringUtils {
public static <T> void sortAscending(List<T> list) {
Collections.sort(list.getClass(),
new Comparator<T>() {
public int compare(T f1, T f2) {
return f1.toString().compareTo(f2.toString());
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
"Collection.sort"这一行在编译时抱怨我没有传递正确的东西.我怎样才能实现这一目标?
请参考以下示例.
====之前====
---- A.java ---
var userAccounts = userService.getUserAccounts();
Run Code Online (Sandbox Code Playgroud)
--- B.java
class UserService {
public OldUserAccounts getUserAccounts();
}
Run Code Online (Sandbox Code Playgroud)
==== ====之后
---- A.java ---
var userAccounts = userService.getUserAccounts();
Run Code Online (Sandbox Code Playgroud)
--- B.java
class UserService {
public NewUserAccounts getUserAccounts();
}
Run Code Online (Sandbox Code Playgroud)
尽管A.java发生了变化,但B.java源文件没有变化.B.class文件的信息有'userAccounts'变量类型是'OldUserAccounts'不是吗?如果我将修改后的源文件应用于真实服务器.'var'会产生一个bug吗?
注意: 我知道这是一个不好的做法,即使没有var更改也可能是字节码不兼容的.在我的案例中,重建整个项目的想法并不好.成本太高了
任何想法或解决方法??